$13 for an esata card and $20 for an external esata/usb case.
$33 and you'd be much happier.
Otherwise I'd try to move data off the local drive onto the USB and use local drive space instead. A full Ubuntu desktop install with development and servers is usually less than 8gb. Used shared folders on the host to consolidate if needed.
USB will work but you can tell the difference from a local disk or esata external(same as local). The best way to use USB either with external disk or flash is with a ramdisk mounted with unionfs over the USB drive. This is how many live USB builds run as default. Sync back to disk periodically or at virtual suspend/shutdown.
The desktop can be seamless Using Virtualbox. You can switch practically every other keystroke. The virtuals will run simultaneously and you can use the host browser to surf the virtual's web server with no delays, even if you reduced the virtuals memory to just above swapping.
With that much ram and dualcore you could run at least two and probably 4 virtuals simultaneously. You shouldn't need that much ram for Ubuntu. Normally the virtuals run best with less memory. That is to say the host system can usually make use of excess ram better than the virtual. A general rule for desktop virtuals is load up all apps being used. Then shrink virtual memory until swap is used. Then add 256mb memory back. Keep an eye on swap and adjust memory up if swap gets hit more than rarely. Usually 768mb is plenty for a desktop development Ubuntu virtual. Jetty and it's associated servers/apps may make good use of the extra memory you're assigning to the virtual. Other virtual setups often don't utilize the extra memory and performance wise you're often better to have the extra memory assigned to the host.