I'm using a MacBook Pro Retina 15" with only 256 GB SSD storage, however, for my new job I need to be able to run Windows on it. I'll need to install Visual Studio and some other tools on the Windows system, so I need quite a bit of storage, maybe around 100 GB should be enough. There are very small USB flash drives with capacity of up to 256 GB, would it be a good idea to run the VM on that? I want to avoid using a big external hard drive, since they are not really convenient, just too big. Also, I don't have enough storage on the local SSD drive.
Running the VM from a USB drive is definitely possible, but far from optimal.
I use VM for running Project and Visio on my mac (never from USB though), and it made a huge difference when I switched to SSD.
Some numbers: A decent internal SSD will have a speed (sequential read/write) of around 500 MB/s while a fast external SSD will do around 300 MB/s, and a top notch USB 3.0 drive will be around 140 MB/s (a lot USB 3.0 drives are bellow 20 MB/s) - Source: SSD Benchmarks, USB Benchmarks
To put this into perspective, a top notch usb drive should perform nearly as well as an old hard disk drive, so it's definitely viable. But it will only be half as fast as a good external SSD drive and 1/3 as fast as your internal drive.
This makes a huge difference when running VMs. Keep in mind the bottleneck here is the actual read/write operations on the drive, since the USB/Thunderbolt bandwidth allows for much greater speeds.
Whatever you chose, make sure you're getting a fast performance unit, since speed is very important for VMs. I really recommend making sure you get a Thunderbolt or USB 3.0 drive.
Running a VM off of USB isn't advisable unless you have no other options; it will be painfully slow as other have already answered.
On my iMac, I run several VirtualBox VMs (Windows 7, Win10, Server 2012, and FreeBSD). FreeBSD and Win10 run all the time, the others only when I am doing something specific. My Windows 10 machine is the only one on my internal drive, but the others are located on the WD Thunderbolt Drive and they boot and perform perfectly well; I have no complaints.
Incidentally, I use my Windows VM for exactly the same reasons you do - Visio, Project and some features in OneNote that haven't made it to the Mac version.
As for the external drives being too big, I definitely see your point, but the one thing in their favor is that I am able to use "enterprise grade" drives which are designed for 24/7 use and thusly it has been extremely reliable with absolutely no downtime where as I just had to replace a portable drive (which I never left my desk) after about 18 months. It was a trade off I will willing to make.
I have been evaluating switching to a portable drive like the Transcend model but since my iMac (by design) doesn't go anywhere, it's not a critical issue for me. The question is, are you away from your desk often enough to need a portable TB drive or will a desktop version work?