Du musst halt deine variablen Prozeduren mit einer einheitlichen Schnittstelle Aufrufen.
Z.B. übergibst du immer die Referenz auf eine Struktur:

d MyStruct ds
d NumParm 5I 0
d Adrparm * dim(256)

Mittels AdrParm kannst du dann bis zu 256 Parameter übergeben.
z.B.:

NumParm = 2;
AdrParm(0) = %addr(FieldA);
AdrParm(1)= %addr(FieldB);
callp MyDynamicProc(MyStruct);

In der Prozedur:

D MyParm1 ds based(AdrParm(1))
D MyParm2 ds based(AdrParm(2))
:

Reflection gibts nur in Java.