Parallels, please consider this idea...
Additional "screens" might be added right in the VM configuration just as you can add virtual hard disks or other resources. Those additional virtual screens would simply open a second, third, ... window on the host. They would be exposed to the guest OS as multiple video adapters (or multiple screens on a single multi-port video adapter - as you like, I obviously don't care). One video adapter defined in the configuration == 1 VM window on the host. Two video adapters defined == 2 VM windows on the host.
I take for granted that from this point on, it becomes "simple" to implement and make it scream. Yeah, easy to say, but think again to the implementation, nothing so special in there. It only means virtualize multiple video adapters (or if easier conceptually - multiple screens on a multi-connectors single video adapter) just as it is done today for hard disks. One more virtual hard disk == one more file or folder to hold it on the host. Same thing here : one video adapter (or screen) == one more window.
I could run a VM using two screens (as seen by the VM) on a SINGLE host monitor. One screen as seen by the VM is one window on the host OS. Let me switch the main VM window to full screen on the host display 1 and separately let the second window (screen 2) as a window on host display 2, or full screen, and so on...
Coherence ?
Well I would suggest to keep it as today : Coherence runs as today (only the first screen seen by the guest is Coherence enabled). It would not stop me from running my second guest screen as full screen on a second host monitor.
I'm not sure I can use english straight enough to make the above idea clear, but it looks so straightforward to me that... hear me scream : where's the source code so that I can start implementing right now ? ;-)