After some research of the vb-scripting, I put together something that actually worked very well. So now I have my machine coordinates set as they are, permanently. Basically, I added an unused M-code in the post-processor that gets run at the very start of the program. This runs a script in Mach3 that sets a gauge-level variable from the machine Z. Then, I mapped a button to another script that sets the current tool-offset to the difference in current machine Z and the previously stored gauge-level.
So, now all I do is move first tool to stock zero and zero fixture coordinates. Then I move to some table-related constant, either the surface or something else and start the program. Upon each tool change, fit the new tool, move it to the gauge-surface and press my custom button and continue the program.
So, this is effectively what BR549 suggested, but without having to write anything anywhere.
Thanks for your help guys!