Would you have several macros for different offset positions?
If so then you should be able to do that by having the macro Home then set the DROs to whatever position you have in the macro. If you had several macros for different positions then it would just be a case of calling the correct macro in your code.
Normally what would be done I think is just have permanent offsets in the table and call them at the start of the code, ie G55 or G56 or whatever and as long as you have not changed the offsets in the table all would be fine.
I know Tool offsets can be changed via G Code but not sure if work offsets can be. I use the code offset method for setting my tool heights when using my tool height setter. Will see if I can ask Brian regards the work offsets when I see him online (if I remember
)
Hood