Here is an interesting thing that could be added to the Bitcoin protocol:
Right now there is an 8-byte (64 bit) identifier which can be used to identify which "services" that a particular bitcoin node is participating with. (see
http://www.bitcoin.org/wiki/doku.php?id=bitcoins_draft_spec_0_0_1#version for details) The only field currently used in the client is the "NODE_NETWORK" flag, with a value of 1.
Presumably, if somebody was running a node that would act as a "server" for concentrating mining activity and forming a core for pooled mining activity, that could be "broadcast" as a separate "service" that the node provides. If none of the nodes you are currently connected to has that service, you could keep searching for other nodes that might be offering the service you are looking for.
The trick here is to define the protocol that would be used for such a pooled mining client/server and perhaps more significant would be setting up some sort of trust metric that could also be applied as well. The purpose of the trust metric would be to know who to trust if you perform work for a particular node. Some nodes would be "greedy" and keep all of the coins themselves and others would be "generous" where it can be confirmed that coins have indeed been distributed due to mining activity.
Special "messages" could be defined for those nodes that implement this particular "service", which would take care of actually sending and receiving the handshaking data necessary for such distributed mining activity.
Note that none of this really needs to be put into the official client right away, but if it was implemented in this manner with coordination through Satoshi in terms of implementing this as another service, it seems likely that it might be "blessed" as official in a future update.
Another advantage of doing it this way is that it would be done through the "peer-to-peer" network itself, so you could have some "part-time" mining servers that could go up and down from time to time. If one server goes down, you can switch to another server as it is merely another nodes that is acting as a pool collector. The switch could be automated, with priorities going to nodes that have a high trust value (and a trust metric that can be tweaked "manually" by the person running the client software).
This sounds like a fun project to try out.