Okay, heres the problem you are going to run into. A few years ago, for fun, I thought I would try what you are saying out myself.
The problem is the amount of data that can be transferred over a USB 2.0 line – attempting to boot a complete operating system could a very long time, and once it is loaded, the read and writes to the drive will be horrendous. Likely this will render the operating system rather useless.
But don't get discourages, there is another way, although it may not be exactly what you wanted. There are now operating system "images" called "virtual machines" and this is how it works.
1. You install a virtual machine software such as Microsoft Virtual PC or Java Sun's VirtualBox onto the computer you want to have an alternate OS such as Windows XP on.
2. You set up a virtual drive with it on your external USB hard drive, and then proceed to Install Windows on the image. This will ensure your entire operating system is installed on the external drive.
3. To boot the operating system from your USB drive, you plug it in, open VirtualBox or Virtual PC and load the VM straight from your external drive.
Your performance will still be slower due to the USB 2.0 communications, but virtualization compensates for alot of this. This will allow you to have even 3 or 4 different operating systems on one external drive. I would actually suggest you get a Firewire based external drive if you are going to do this regularly.
Hope this helps.