Falsch!
Wenn du das externe Programm immer nur aus ILERPG mittels Prototyp aufrufst, legt der Compiler eben eine entsprechend große Kopie an, es gibt dann keinen Müll.
Durch "varying" wird eine 2-byte-Längeninformation vorangestellt, die du einfach mit %len() abfragen kannst.
%len() liefert die Länge des Inhaltes bei varying (bzw. DDS-varlen) Feldern, %size() die tatsächliche definierte Größe.
Bei fixed Variablen liefert %len() und %size() die selbe Information.

Beim Aufruf von CLP definierst du eben eine 1002-Byte-Variable und stellst die Länge per %bin(&Ziel 1 2) voran.