Da ist SQL tatsächlich etwas schwierig.
In RPG/LE kann ich einfach mit SETLL/READE schnell zugreifen.
Da SQL aber immer mehrere Sätze verarbeitet ist die Einschränkung nur auf die von dir beschriebene Weise möglich, auch wenn es da noch so komplex ist.

select * from datei where feld = 'a' and Datum = (select max(Datum) from datei where feld = 'a' and Datum < year(current date)*10000 + month(current date)*100 + day(current date))