Da eine Funktion nur mit Parametern aufgerufen wird, kann sie von der Datei ausserhalb gar nichts wissen !

select MyFunc(Parm)
from LibA/F1 ...
join LibB/F2 ...
join LibC/F3 ...

oder

Set :MyVar = MyFunc(:Parm)

Woher soll die Funktion nun erfahren, aus welcher Lib die Daten kommen sollen ?

Dies wird nun mal zur Laufzeit durch die Umgebung gesteuert:
Bei *SYS eben *LIBL
Bei *SQL eben der aktive User bzw. die "User"LIB zur Compilezeit

Alles andere wäre vollkommen unklar.

Ansonsten baue die Funktion als externes Programm, gib die Lib als Parameter mit und mach einen dynamischen SQL draus.