I'm running basically the same dual boot setup as Jonbuoy, with XP (64 in my case) and Win7 x64 installed on separate boot partitions on a single drive, and it works fine.
XP should be installed first, and then when you install Win7 just select the other empty partition (or create it in unpartitioned free space on the drive) and Win7 will create a boot menu so you can select which OS to boot when you start up the PC.
One thing to note: Win7 supports "AHCI" mode of SATA, but XP doesn't. The SATA controllers on most recent motherboards can be configured in BIOS setup as IDE (legacy) mode, SATA (enhanced) mode, AHCI (advanced SATA features) mode and SATA RAID (Windows software RAID) mode.
Except for IDE mode, installing Windows using these SATA modes requires first setting the desired SATA mode in the BIOS setup and then, when installing Windows, hitting F6 and then installing the appropriate SATA driver from a floppy disk or USB flashdrive because without the driver XP won't see the SATA drive.
For an XP/Win7 dual boot setup, if your mobo uses an Intel chipset supporting SATA RAID, I would recommend configuring the SATA controller as SATA RAID mode in XP using the latest driver from Intel's site for your chipset's SATA controller (Intel now refers to its software RAID as "Intel Rapid Storage Technology" but it used to be called something like "Intel Matrix Storage Technology", all the same thing with different confusing names). Get the F6 installation driver from Intel's support site under "chipset" software. You only need to use the F6 installation method or XP - Win7 shouldn't need it and should install in SATA RAID mode if it is set in the BIOS, without needing the driver.
Windows SATA RAID mode offers basically the same performance as AHCI mode, and is supported by both XP and Win7, so it allows a dual boot setup without it becoming necessary to reconfigure the SATA mode setting in the BIOS when booting to a different OS. Running the SATA controller in RAID mode works just fine even without actually setting up a RAID array, so you don't need to set up any RAID drive(s), and if the RAID setup screen appears during boot you can just ignore it and let it time out and the boot process will continue after a few seconds (your boot drive should show up as a "Non-RAID" drive, which is just fine, no problem whatsoever). And that's it, no SATA hassles when dual boot is set up.
If your chipset does not support RAID mode then it may also not support AHCI mode in Win7, so then you will have to configure basic SATA mode (enhanced mode) for XP, (don't use IDE legacy mode, too slow) and then let Win7 detect the SATA mode aet in the BIOS and install it
(Edit: fixed the formatting)