Entweder habt ihr die Fragestellung nicht richtig gelesen oder ich habe gerade ein Brett vorm Kopf:

Dietlinde hat doch geschrieben, dass sie an den Selektionsfeldern nicht erkennen kann, ob die Selektion gewünscht ist oder nicht. Deshalb scheidet das Konstrukt "(feld1 = :wert1 or :wert1 = '') aus!

Aus meiner Sicht ist das dynamische SQL die einzige Möglichkeit.