You MAY be able to dual-boot x64 and x32 by using separate partitions (can't imagine WHY someone would want to, though) however, be aware of the limitations in doing so.
1. MEMORY: Anything over 3GB of RAM is most likely going to get chopped off while running in x86 mode
2. VIDEO RAM tends to conflict with SYSTEM RAM in x86 mode if the two COMBINED are above 3GB.
** If the above apply you'll likely end up with a crash of the x86 system. People don't want to down-grade memory nor pull out memory sticks just to dual boot, so it's not the most common thing to hear.
3. "without losing data" -- I recommend using a re-partitioning program and creating a NEW partition at the end of your existing hard drive, copying all VITAL data to either it (or an external drive) before considering a dual-boot on a machine which already has use.
A BETTER (safer) way would be:
1. Purchase/Install a SATA (tray-less) drive cage in a 5.25" slot in your computer
2. Purchase a second hard drive
3. Install x86 on the second hard drive
4. Power off and swap drives when you need to switch between the two.
*. If one becomes corrupt, viral infected, etc. you ALWAYS have the other which is untouched.
If you're focused on dual-boot, I recommend a trial run before you do this live.
1. Go to VMWare.com and download VMPlayer or VMServer 2.x
2. Install Win7 x64 on the "virtual" hard drive (set VM to say 120GB -- it won't actually USE 120GB, but prepares that as a maximum)
3. Once x64 is complete, TEST the x86 installation by setting the memory to something above 3GB (assuming your x64 machine is 4GB or more) and then install x86 on a separate partition inside the virtual machine.
4. If both x86 and x64 are not willing to "play nice" in a virtual environment, then DO NOT do so with the real hard drive.
Hope this helps and good luck!