You can try and cut stuff out with vLite, but unless you cut out a real lot it's not going to save a ton of drive space. Here's your best bets:
- Disable Hibernate and run disk cleanup to remove any hibernation file.
- Disable System restore entirely and use disk cleanup to remove all restore points... this will save an enormous amount of space.
- Disable SuperFetch (since it kills your VM hard drive with it's crazy usage)
- Minimize the size of your pagefile by setting a smaller static size and make sure to assign lots of memory to your VM to compensate.
- Use the disk utilities to shrink your VM drive down as far as possible.
Once you have the base machine configured, I would suggest using VMware workstation and the awesome Linked Clones feature, which will let you create a completely new VM based on the base machine, but only using a portion of the space.
I would not advise running a Vista VM from a USB flash drive, it will be slower than dirt.