Wow. I really thought this forum would connect me to people who knew the code and/or the standardization process of gcode. Here's the thing. I've read the code. I've read the gcode output of several slicers. I've read through the gcode standard (insofar as the duet3d page documents it). I understand how it works.
And with that understanding, I made a proposal. A code that would specify, as it's argument, the current "part number" ... with the default (code never given) being part number 0. Obviously, slicers have to introduce this code for it to be useful, but this is another battle. A second code, to be given at runtime (we already have runtime inserted codes ... like the z microstep) would enable or disable and object by number. You could have the slicer overlay the part numbers on it's display, should you need them or the printer could put the current part number on the interface like it puts the X, Y and Z values.
Now ... as to the last part of your argument, most slicers use absolute references for at least X and Y. So... no extra movement commands required. Generally, if this is happened, and I'm there to notice, I'm there to remove the offending part. In my original post, I mentioned that I often remove the part and the printer just continues to dump filament into the area, but this usually "sorta" works out, save the mess and the waste.
If the situation is, as you say, far more complex, then there's nothing to be done. It's dead print. You're no worse off than before.
But if you sit and think about this feature request, it means that you could exchange g-code files with parameters. At least for similar printers. It means, say, that you could slice once, and then enable and disable optional parts of a print on the fly.
Anyways... to be clear, I intend to look into each of these two things and hints on how to move forward would be welcomed just as nay sayings may be ignored.
thing A - how is GCode standardised. How do I add a code or two?
thing B - is anyone else interested, or am I on my own modifying and submitting patches for duet3D code?