Some of the cloud-based IRC clients do a lot of this (I'm a big fan of IRCCloud). But it would be nice these kinds of features were baked into the protocol. When something like a majority of users want a feature, it should probably be part of the protocol.