Vince, I have read, and re-read your post. I think this is what you are saying - Your tools are all set up in a turret, and all referenced to a particular tool, if you change the reference for that tool, the references for the others do not change.
Your surmise is incorrect ( I think). The tools in your holder are all referenced to a particular distance above the workpiece. The fact that you used one of the other tools to do it is irrelevant. They all have individual references.
The thing that is changing is the height of the workpiece.
The only way to do it, as far as I can see, is introduce an offset - G55 to 59 etc for your different programs.
Your are clearly a long way along the road, I assume that you have home switches, if you have a tool turret etc.
Your tool height, as set, is your "home" for your Z axis in Machine Co-ordinates. When you put in an offset for the X and Y axis, you must also include one on the Z axis to bring the tools down (or up) to the correct height.