Is this for commercial use or your own little playground to work with? Typical usage for the VMs is what is the main deciding factor in how much CPU and RAM you need to throw at it.
The biggest user of resources that you listed will probably be the SQL server depending on how many queries will be run against it and what its used for. DB servers usually have larger memory footprints, eat up lots of CPU as well as take as much hard drive bandwidth as possible. The media server might also be pretty intensive depending on if it will be doing any transcoding work.
Obviously if a VM is for commercial applications that needs 100% CPU resources where turnaround time matters you'd want at least one dedicated physical core for that VM and any others like it. If it's for your own personal use and you don't need 24/7 availability with high usage scenarios you have a bit more freedom. You probably wouldn't see much performance degradation with the i7 and going to even 10 VMs if they are not all pegged at 100% CPU usage at the same time, but it becomes harder to configure the RAM allowances for each of those VMs on a limited platform.
The amount of RAM you need is completely dependent on how you configure the VMs and what is running on them. If you have any of these servers running right now, run some diagnostics on how much those memory they currently use and see what the usage peaks at and base your VM allowances on that. For total RAM amounts on the host machine, know that after about 80% total RAM utilization ESX will begin using the disk caching which is always far slower than RAM (just like virtual memory in the OS) even if you are hosting that on an SSD. So for example try looking at the i7 platform with a theoretical 8 VMs, do you think you can you safely fit those all within about 10GB of memory, leaving the other 2GB free so you aren't forcing ESX to use cache?
Also, if the VMs you are hosting are memory intensive you should definitely go for more RAM over a faster CPU or faster RAM as you will see a greater benefit. If RAM usage spikes and you run out of memory your performance will tank across the board no matter how fast your host CPU is or what your RAM is clocked at. Again as you said the Xeon has lots of headroom for RAM expansion and while the i7 box has enough for 5 VMs now, how many would you be adding in the future and with what sort of memory allocation?
Of course another alternative if the Xeon platform is too expensive is to simply get one i7 box now and then get a second one at a later time if you need it. If space isn't an issue where you are putting these ESX boxes this may very well be the best bang for your buck solution.
As for installing the i7s in a Xeon mobo it will only work if the Xeon board is single socket as far as I know. i7s are only allowed to run in single socket mode, so it might work if you only put 1 in a dually Xeon board, but you'd lose half of the RAM slots and other features so it'd be kind of worthless.