Martin, I think that the AVR people would very much appreciate if you would report occasionally on your progresses concerning your realization of the different address space issue on your personal HC05 port. (In my opionion, the lack for support of different memory spaces is the key weakness of the present avr port and I think that any avr-gcc user would be very happy if this weakness could be removed some day.)
While I think, that I now have quite a clear picture on which kind of modifications would be required for the back-end (namely more sophisticated define_expand patterns and possibly some new unspecs (and corresponding define_insn/define_split patterns) for EEPROM and PMEM ), I don't have any idea on how complicated the work on the tree level would be and of course, whether your approach generally would be suitable for being included in mainline gcc. Yours, Björn