If I could nudge you a little further - as I think I'm almost following, but not quite - what's the difference between an exokernel and a vm? I mean, wouldn't you have to write a different exokernel for each architecture, with this set up?
Edit: reading more about exokernels - upon reflection, maybe I can better imagine how this kind of system could be very interesting for experimenting with what you describe. You'd effectively be drawing the boundaries the programs would cover much more broadly, so then maybe they could share more with each other?