Thought it might be useful in case someone else is looking to do this, but I came up with a way of being able to write as well as read to PROGMEM located variables.
In my real project we had several nested structs that we need to be able to access "normally" in program code, but we wanted to be able to dynamically load new data over the top of.
It would not fit in EEPROM and didn't want to start using external storage for it.

I made a demo file with it working for teensy 4.1