Meistens ist es im echten Leben so, das man sich die Gegebenheiten nicht aussuchen kann, sondern sich mit ihnen arrangieren muss. Hier ist es eben so, das eine Spalte nach bestimmten Regeln sortiert werden muss, die sich nicht so ohne weiteres umsetzen lassen.
Da muss man durch.
PS: Auch zum Thema: Muss es eine Firebird/
DB-Lösung sein? Das ist nicht so leicht. In Delphi schreibt man einfach eine Vergleichsfunktion und kann das dann mal eben schnell sortieren.