I run Fedora on an USB HD. The main problems are;
1. The installation program did not detect the drive. I installed on
a partition on another machine, tar-ed the entire root file system
and unpacked it on the USB HD. GRUB works fine, but has to
be installed manually.
2. The kernel tries to mount the root-file system before the USB
HD is ready. This is trickier. Use an initial ramdisk (initrd). Do
repeated mounts of the USB HD until it succeeds and then
do the "pivotroot" stuff. I make my own initrd, but it may be
easier to take an existing (Fedora always boot from initrd),
mount it with "loop" and modify it.
This is probably not for the newbie, but it it actually not that
hard and you will learn from it.
Regards, Lars Ekman