sure it's possible
Screen size as said would have to be low, you could remedy this by using two monitors on your one computer. Also, it will be fairly slow even with a good setup.
If you do it, you would probably be better off using a bridged network (see:
http://blogs.technet.com/b/windows_vpc/archive/2009/12/07/networking-in-windows-virtual-pc.aspx)
Acceleration should be possible as I think virtualpc offers such an option. You'll need a graphics card with a good amount of ram to be able to assign ram to each screen.
That said, I don't know if the graphics card can process from two different sources at the same time. I would think it'd be possible, but I don't know to be able to definitively answer. It's one of those things you'll have to try to see. VirtualPC should offer graphics acceleration, so it should be bearable.
USB devices should be no problem, as long as virtualpc allows you to assign certain devices to the virtual machine.
All that said, unless you got a triple or quad core, it's going to be pretty slow. If you do have a triple/quad core or better, than I'd assign at least one seperate core to each virtual machine.