Well... I think the important thing is that you obviously have a good understanding of "parametric" or "macro" programming and that will be hugely beneficial to you. As far as this specific instance goes, I would say this; If when talking about "tweaks" you mean that each position of the fixture might be a little off from the one before it, then, if it were me, I would re-do the fixture. On the other hand, if you mean that all positions are off the same amount, (say +0.01 inch in the X direction), then you could take care of that in your G10 L2 statement, i.e. X[#1+#5221+0.125], or you could just modify your original G54 offsets to be at a correct zero point.

As far as "easier" goes, I guess I'd have to say this. With your code, you have to go in and code each individual X,Y position of the fixture - in your example, 10 different positions. In the code I provided, I have to change a number for 4 parameters
#<NUMBER_OF_OPERATIONS_X>=5
#<NUMBER_OF_OPERATIONS_Y>=2
#<DISTANCE_BETWEEN_OPERATIONS_X>=2.0
#<DISTANCE_BETWEEN_OPERATIONS_Y>=2.0

Now let's do the same for a fixture jig that has 100 positions, (say 10 rows X and 10 rows Y), that are 0.5 inches apart in both directions . I just change the same 4 parameters:
#<NUMBER_OF_OPERATIONS_X>=10
#<NUMBER_OF_OPERATIONS_Y>=10
#<DISTANCE_BETWEEN_OPERATIONS_X>=0.5
#<DISTANCE_BETWEEN_OPERATIONS_Y>=0.5

While you would have to....well, I'll leave it to you to decide which might be "easier". For me, it's just nice to see people like yourself thinking "outside the box".