Dual boot is better on a separate HD vs another partition on same drive. The windows xp is load on the outer portion of the hard drive which is the quickest. E would be closer to the inner part of the HD which is the slowest. Get another HD, disconnect all other drives, do clean install of win7, after is done then reconnect all drive. Two drive with it's own boot sequence. If you want to load win7, go to bios and set to that drive.
Do the same to load winXP. All data stay intact. When win7 loaded, the XP os partition just becomes another drive and all files and folders can be accessible like normal. The major problem when DUAL boot on same drive: Boot sequence is one that partition. If you decide later you want to get rid of XP. The boot sequence gets corrupt and you will lose both OS. When you do have another HD; the reason you disconnect the other drive during win7 install is to prevent windows from sharing the boot sequence. That will prevent the boot sequence from being deleted when you get rid of XP. GL