Nun, das definieren von Speicherplatz findet ja beim compilieren statt und nicht zu laufzeit.
Beim DIM-en werden ja label-adressen festgelegt, die dann als HIGH() und LOW() in die Befehle eingebaut werden.
"COnfig serialin=buffered" wird daher schon zur Compile-Time ausgewertet.

Du kannst aber z.b. deiner LIB die Grösse deines Arrays als
CONST ArrSize = 512
festelegen und dieses Symbol "ArrSize" in der LIB verwenden ( um es in die Assembler-befehle einzubauen, s.o)

EIn bisschen was über Libraries hab ich da geschrieben:
http://www.rn-wissen.de/index.php/Bascom_Libraries