I am merely an uneducated pleb and so don't know of any canonical ways. I do like setting things up in way that requires least work/effort.
If I understood correctly, the amount of points, their order and respective motions should not change. A subset of points will need to have different positions depending on the parts being worked on. If these assumptions are correct, I would do something like this:
1. Initialize and define the points that should not change in some public dat file as consts.
2. Make a file that is going to be copied for every new loading program with the points that need changing. Protect them with a flag to avoid unintended execution (something like _TouchUpOn and $T1). This is the module where the operator will touch up the points.
3. At the end of the program above have a call to a function in a different module that is going to actually execute the desired motions with the touched up points as parameters (better as pos array).
4. Profit immensely as now all the operator has to do is duplicate a program, give it a name, enable _TouchUpOn flag, turn on $T1 and touch up the needed points. Afterwards just run the program every time it's needed.
This seems so simple that I probably misunderstood the problem.