As to the first question, there's a very small I/O performance penalty booting to a fixed-size VHD as there's an additional filter
driver needed for the VHD usage as a hard disk rather than writing directly to a hard disk, but otherwise everything else will be the same as booting to a "native" OS disk. If you use a dynamic disk, there's a slightly more pronounced I/O penalty if the disk is growing during I/O operations.
As to the second question, if the device is capable of showing up as a fixed disk and is bootable it may work, although if it's not a fixed disk you will find adding it to the bcd is difficult (and booting to it, if anything changes, will invalidate the entry and fail to boot). Windows 8 provides this capability (Windows to Go) natively, but it really isn't easy to do (I have tried) with previous versions of Windows (VHD boot or otherwise).