extreme,
Let's put this way, I CAN because I have modified TCNC so I can HOME and individual axis under G-code using G28.
At any point in a file, I could insert say G28X0 and it will home the X axis (in my case it is at machine X=0).
I also automatically do tool length offset compensation using a third home switch on my Z axis which can be set to the top of the work piece top (Z=0), then when I do a M06, the tool moves to the switch and homes thus setting the tool compensation.
The key to this is I home Z DOWN and not up as is normal convention.
Art
AKA Country Bubba (Older Than Dirt)