The new pilot code will eliminate the need for most 'duplicate' pilots. Multi and Single player will be one pilot, and you should be able to seamlessly change from one campaign to the next. Once we get FSO to use the %APPDATA% folder on Windows, you won't need to worry about users sharing pilot files either. You'll just change who is signed on to the computer, and then you'll all have distinct pilot files. I think that'll pretty much handle most of the issues then. We're not going to work on stopgap solutions when these should already be right around the corner.
I will admit, mod switching would be cool. It would be a large undertaking by any coder interested in doing it though, but I imagine it would work similar to that behavior in Battlefield 1942. Keep in mind, this would only work for 'mods', and not full-on game switching, like Diaspora to FreeSpace, even if it ever were possible. With the way the community works now though, this would really only help multiplayer, and these guys generally know how to run the right game when they want to play. To really help that group, without reloading resource sets, what I think would be easier to implement is a verification to make sure that the users joining a game have all the resources the host has enabled, and if not, it could restart with the right mod command line options passed, and then perhaps rejoin the lobby (or game-in-progress if we get that fixed) automatically. This would dictate that all mods are installed in standard folder names, but we're working towards this end anyway so I think a solution like this might be possible in the future.