I can have multiple driver configurations for every computer I plug
it into and the correct driver set can be autodetected. Is there a way
to do this with a Linux distro?
A normal linux distro with a generic modular kernel already does this. Last time I checked, an out-of-the-box linux live CD would run on any x86 computer I had access to try it on and automatically loaded the appropriate modules to run a GUI and access a network, etc. You can put the same sort of image on a usb stick.
It is hot-pluggable, I can unplug it, and as long as I plug it in
again in 60 seconds, my machine won't power down or kernel panic.
This is possible if the base system loads itself into a ramdisk, which is kind of a big waste of memory except in-so-far as elements of the "base system" (shared libraries, various executable images) would be cached in ram anyway. In the later case, that cache can be displaced if necessary -- but this will slow the system down, which is why, in general, it is best to leave a large percentage of your memory free rather than filling it up as much as you can. So a ramdisk based system will be considerably faster after loading than a live usb or CD system, but it will reduce the available RAM by the size of the image.
Because they are faster than any kind other kind of hardware (including normal hard drives and SSDs), sometimes ramdisks are used for stuff other than the base system -- eg, for files on a server.
I was not sure if anyone distributes a ramdisk based live linux -- you might want to put that together yourself anyway -- but a quick google turned up at least one: http://www.slitaz.org/en/
The ramdisk would mean after boot you could completely remove the usb for as long as you want, including mounting a different stick there.