It appears you are using a block for your PID. I would use a FOR/NEXT loop of your PID index using V100 (or some V) and then calculate the R index (using another V) from the PID index.
V100 is the PID data-block array index
FOR V100 0 to 9 // assuming 10 PID loops, PID0..PID9
put the R array index into V101, starting at R20 by groups of 4 (.Gain, .Reset, .Rate, .SampleTime) or 5 or 6 or whatever parms you are pushing), so R20, R24, R28...
MATH V101 "20 + (V100 * 4)"
// this is the cool part, using array indexing for both sides, and even using array index + offset!
MOVE R[V101] PID[V100].Gain
MOVE R[V101+1] PID[V100].Reset
MOVE R[V101+2] PID[V100].Rate
MOVE R[V101+3] PID[V100].SampleTime
NEXT