If you want to keep a set and specifically designed work envelope, I think this may be a workspace question.
I am not sure how you would move the XY and Z positions by accident. Is this a technique issue? I set my values and note the values using the small numbers accompanying the large blue numbers. I can always get back to those values. If I was going to produce multiples of the same item, I would set them in the same vice position then I would just plumb in the same small numbers and the machine will start at the same place.
I know that my homing routine always leaves the spindle at a machine position of -003 in all three axes. This permits me to calculate the machine position I am aiming for rather than the relative position from the last known position of the spindle. It should also be clear that you may move the Z carriage in the same way more than one hundred times and if the CNC deities are smiling upon you, the carriage will always be in the same place as you expect. If you consider backlash and other mechanical factors you may find the carriage displaced during repeated operations. Not by much but by enough to mess up the workpiece. If you specified the workspace to be the absolute values that you want the work envelope to be, this may provide you with a solution.
I may have misunderstood your aim so forgive me if this is not what you want to achieve.
To the right of and above the location box is a drop down menu labelled workspace: I have not read up on this so you have a little work to do but you can specify up to six different workspaces. I believe you can make them all different and this may answer your question. Possibly one of the developers will answer this question if you write to support directly.
If you don’t have homing switches, whatever the position the machine is in when gSender connects is the home.
I leave the stepper motors energized at all times so I don’t accidentally move any axis when doing tool changes, but that means if the home position is above the workpiece, I need to jog it out of the way using gSender so it doesn’t lose orientation.
If you have a jig for repeating jobs, you can model in a zero position as a mark you can manually zero on top of or use the corner of the jig and use a touch plate. You would have to model in the jig along with your part to get the orientation and dimensions right.
I can sympathize. Sometimes I press the “Zero Y” or “Zero X” buttons instead of the “Goto” button, just out of not paying attention or moving too quickly, then the coordinates are all wrong and it’s not easy to get them back (unless you have homing switches and know your original starting point).
Even if you couldn’t lock the zero buttons, if you could require a confirmation when clicking a zero button, that would make me realize I clicked the wrong button and stop me from ruining a project!