Yep, VMWare lets you run 32-bit on 64-bit and also 64-bit on 32-bit.
Running a 64-bit guest on a 32-bit host requires a CPU with virtualization support. That's probably true of 64-bit on 32-bit as well but I'm not 100% sure off the top of my head.
Virtual PC also lets you run 32-bit guests on 64-bit hosts (and definitely requires virtualization support for it) as it's the basis of XP-Mode in Windows 7. (Virtual PC cannot run 64-bit on 32-bit at all, though.)
BTW, In case it isn't obvious: Guest = the virtual OS; Host = the real OS.
EDIT/PS: Neither solution has good enough 3D support to make Aero work, so if you're going to run Vista or Windows 7 as the guest OS inside the VM, it's going to look a little ugly. This doesn't affect the host OS at all though, of course.