The logic of Mach 3 is such that : -
1. All working co-ordinates are kept in Machine Co-ordinates. This is how the machine remembers where it is.
2.If you change to Program Co-ordinates, jog to start position and the zero the DRO's they will go to zero.
3. The machine however, does not work in Program Co-ordinates so it has to alter something to compensate, and the thing it alters is the offset. If one has not been selected, then it alters the G54 offset.
To answer your query then I would do this:
1. Ref All Home - This sets all your Machine-Co-ordinates to zero. (It does not matter where this position is, it is just a reference point for the machine).
2. Change to Program Co-ordinates. On the MDI line type your first offset (do not use G54) suggest you start at G55.
Jog to your first position and use the probe to locate it properly - then zero the DRO's. This zeros the DROs but also changes the offset (G55)so the machine knows where it is.. The position you have probed must be the 0,0,0 of the program.
3. Change your offset by typing in G56 and jog to the second position, probe, zero the DRO's - this sets G56
4. Do the same for G57 and G58.
If you now look in your Fixtures table - Config/Fixtures you will see the offsets entered.
If you have home switches fitted, then your program should ref all home, enter the first offset, run the program, enter the second offset, run the program, etc.
If you do not have home switches, then jog to the start point of you first job, Ref all home, and just offset the other three from it.
The jobs can all be the same , or indeed, different. Provided you have correctly located the 0,0,0 point of each one.