I do not see why you are not programming like this or something similar:

G28 U0. W0. (always sent the machine to a safe position BEFORE calling tool change)
T0700 (call tool change)
G50 X0. Z0. (call work coordinate shift)
G00 T0707 (call tool offsets)

All of your X tool offsets will be set to X center line (negative values). All Z offsets will be set to desired work zero point (negative values).

If you want your Z zero tool setting point to be the chuck face, do that. Then adjust the G50 line the distance from the chuck face to the work zero point.