Hi there.
It is entirely dependent on the load and function. There are products which help you determine things like this, such as Platespin - which calculates the resources your physical servers use and converts them into virtual resources.
There's no real taboo's with virtual servers because they are pretending to be physical servers, and they do a pretty good job of it. It is often argued that virtualising terminal servers is pointless which isn't necessarily true. If you are running a small scale (remote access for management staff, or 5 or 6 library users for instance) then you aren't going to max out a terminal server, and you get more from your resources by virtualising. Furthermore, even if you have load balanced terminal servers, although you're not likely to save on server resources, you will gain the other management benefits (HA, cloning, stopping, starting etc.)
I'd suggest a couple of quad core servers with plenty of memory as someone else mentioned, and possibly dual network cards. It would definitely be wise to perform some small tests to get a picture of the resources each of your servers use.
You can assign any network ports, physical or virtual to any virtual machine
Using an offsite SAN via iSCSI is a good way of having a fail-safe, but it's a very expensive method of backing up.
Yes abso-frickin-lutely. Domain controllers are the biggest waste of hardware going - bung all of them on a virtual server and moonwalk across the free floorspace ;-)