What I have done, it to have a "portable" home switch on my Z axis.
After doing a tooling change, I G00 to the point where my switch is located AND previously set to the height of the top of the work piece. I then do a G28 (I use TurboCnc with enhancements) to zero the tool. I also have T0 set to allow full travel of the quill. This allows me to T0 raise the quill to a known point so I can change tools.
This is also predicated on my having set it up so Z zero is DOWN and not up as is convention.
Works real well for me and beats the cost of fixed lenth tooling (that I will never seat exactly the same each time on my drawbar machine