Does the 68000 offer any easier methods to do that AddressSpace->AddressSpace hand over? Am I missing something more fundamental?
The 68000 has no address spaces. Or, I should say, it has exactly one address space. It also has no memory protection, other than putting things in ROM.
Would it also be considered "taboo" to use the upper 8 address bits? The addresses are 32bit yes? But there are only 24 external address lines. Does that not mean you could use those extra 256 sets of addresses as "flags"?
It's a very very bad idea, and all such CPUs should force the upper bits to all be the same, and either all 0s or else all the same as bit 23 (in this case).
The 68000 didn't, and Apple put metadata in the upper 8 bits of pointers, and this caused them problems just three years later when they introduced 68020 machines and they were limited to using 16 MB RAM for the OS and apps, despite being physically able to install 128 MB. Two more years later Apple introduced "32 bit clean" ROMs in the Mac IIci and Mac IIx. A IIx ROM could be retrofitted to the original II.
Arm did the same stupid thing, but even worse, because they put the actual hardware CPU status flags in the upper 6 bits of the program counter. They fixed this in ARMv3 in 1991. It did allow slightly more efficient return from an interrupt. But I suppose it prevented things like setting the carry flag as a status return from functions (a very common trick on 8 bit CPUs)