Nun, was die Sicherheit angeht so ist gerade bei ODBC SQL-Naming die beste Lösung.
Es ist besser, bei falschen Zugriffen einen Fehler zu bekommen als auf das falsche Objekt zuzugreifen.
Es braucht ja nur mal jemand die Reihenfolge der Lib's zu tauschen oder der CHGLIBL des QZDA-Jobs schlägt fehl und man hat dann die Default QUSRLIBL im Zugriff. Da gibts auch keine Fehlermeldung!

Was neue Objekte (Table, Views) o.ä. angeht, so ist ja der APP-User bereits ausreichend diskutiert worden.
Zusätzlich benötige ich für meine eigenen Objekte kein *ALLOBJ o.ä., um anderen Berechtigungen per SQL-GRANT zu erteilen.