Lege doch einfach mal die Indizes an und prüfe das Ergebnis mit der entsprechenden Abfrage auf die Tabelle. Für MIN(xxx) benötigst du nämlich keinen distinct vorher, also:

select min(anrede) from datei
where upper(: myvorname) = upper(vna1)
or upper(: myvorname) = upper(vna2)

Durch die Prüfung "upper(vna1)" sollte der passende Index1 gewählt werden.
Dies ist der Grund für "berechnete" indizes, dass diese gewählt werden, wenn die Abfrage eine genau identische Where-Klausel aufweist.