a general Linode and Xen question
In order to do that, Xen has a feature called "live migration", but it requires that the disk images (or partitions) are on shared/networked storage. As long as you have the networked storage, you could move all Xen domains off a machine onto the others, take that machine down for maintenance or whatever, and then move domains back to it once it's back online…
Xen also supports suspend-to-disk, so one could suspend a Xen domain, copy the resulting Xen "image" along with the disk images to another machine, and then restore it back to a running state there…
I think what I'm needing the most clarification on is this: Are the collective resources of 3 physical machines really able to be shared by a group of virtual machines?
Yes. Using live-migration (and as long as you have networked storage) you could load-balance your running domains across those three machines. But, Xen doesn't do this automatically – you'd need to script up a load-balancer to initiate moving the domains around.
As UML hosting goes usually, you have a single physical machine serving a group of virtual hosts–will Xen allow you have several virtual machines being served by a cluster (as opposed to a single) physical machine?
Kinda – See answer above.
Could one concievably pool resources of several powerful physical machines to serve one virtual machine with an increase of performance?
No. A Xen domain runs on top of one host, and one host only. It can be moved to another host, but it's still limited by the resources of a single machine.
What you describe at the end of your post is basically the premise behind single system image clustering.
Ever heard of OpenMOSIX?
This is way up there on my "fun things to do when I have a whole computer lab to myself" list.
The really interesting thing about OpenMOSIX is that it runs unmodified applications. You don't need to use a specialized framework like MPI or PVM to run across multiple nodes.