Solution 1:

Are there any benefits or disadvantages between 64-bit and 32-bit virtualization, except the 4 gigabyte memory limit on 32-bit machines.

There are a number of advantages to running in a 64 bit environment. The biggest is, as you say, the ability to address large amounts of memory. While you can get your 32bit kernel to address more than 4GB of RAM, individual processes will still be limited to 4GB. This affects not just "real ram", but their entire virtual address space...which is a particular problem if applications plan to make extensive use of virtual memory via mmap() or other techniques. The varnish http cache is a prime example of this. Discussed here and elsewhere.

This article from AMD (warning: PDF) discusses 64-vs-32 bits in some detail.

There are theoretical performance advantages to a 64 bit systems caused by more registers, wider memory fetches (that is, more bits read per read operation), and so forth, but the data I've seen so far suggests that performance of 32 vs. 64 bits isn't currently much of a reason to select one or the other.

Solution 2:

The 32bit guest will use less memory. I generally use 32bit guests on my 64bit host unless I have a specific reason. If you need the high memory then go 64.