A few questions first. A you wanting to be able to boot into both Vista and XP or do you just want access to the data on the XP hard drive? Are the hard drives IDE or SATA?
If you just want the data and they are SATA, just plug it in. Don't need to do anything else. If they are IDE, you'll need to power down and add the XP hard drive to the Slave IDE connector on the IDE cable ribbon. Make sure the XP hard drive is set to Slave as well.
I'll get back to you on dual booting as I'm about to leave.
The quick way though is to hook up both hard drives as before but use the BIOS to select the boot order allowing you to boot into which OS you want. Clumsy but it's one way to do it.
This does not pertain to OP's situation with two SATA drives, but let me correct something TheViper said. He said if you're putting an older IDE (PATA) drive in, set and wire it to be a Slave. Generally that is wrong!
There is no such thing as one Master drive in a whole computer, nor a bunch of Slaves. The Master and Slave designation are merely ways to differentiate two drives that share one port and cable in an IDE system. They are relevant ONLY to that one IDE port they share. EVERY IDE port can have up to two devices (as long as you have a cable with 3 connectors on it). If it is used at all, an IDE port MUST have a Master (set via jumpers on the drive) and it should be plugged into the END connector on the cable. (Sometimes the jumpers need to be set differently depending on whether this is the Master with No Slave, or Master With Slave Present.) IF that port already has a Master device, then the second device MUST be set to Slave, and should be plugged into the middle connector. Exception: you CAN set BOTH devices to "CS" for Cable Select, and then the END device will be the Master.
So, completely independent of any SATA drives you have, if you are putting the ONLY IDE drive on an IDE port, it MUST be the Master of that port. IF the port already has a device that is Master, make the second one a Slave (AND check whether the current Master needs its jumpers changed to allow for the addition of a Slave that was not there before.) If you decide to add the new drive to a second unused IDE port, then it MUST be the Master of that port.
Also, a good guideline to follow: if you have both optical and HDD units on one IDE port, it is better to make the HDD the Master (on the end of the cable, too) and set the optical unit to Slave. If you add an HDD to an IDE port that already has an optical drive and make this change, also check in Windows Disk Manager what letter names Windows assigns to these devices. It might just give the old name for the optical drive to the new HDD, and give the optical unit a different name. You can manually change those to what you really want (to keep Windows happy when trying to find stuff on the drives) by RIGHT-clicking on a drive in Disk Manager and Changing its Name. Back in BIOS Setup, also check the Boot Priority Sequence to be sure the optical drive you expect to use there is still in the list properly, because you have changed its port identity.
TheViper, you're right, I did misread somewhat. I kind of understood the posts as indicating that the old drive is IDE but the existing HDD with Vista installed is SATA, but really OP did not say that at all - no details there. OP's later post finally said both drives are SATA. You're quite right if the Vista disk had been IDE it is VERY likely it's the Master on its port, and the older drive being added would have to be set to Slave if it is to go on the same port.
If you want to boot from the xp drive you'd need to change boot.ini on the xp drive (from vista) ; my suggetion = copy the 'windows' entry serveral times over, and change the device settings from 0 to 1 etc so you can boot from different controllers and/or drive numbers. Windows xp won't anymore be the first drive on the first controller enumerated after all.
You need to remove the system and read-only attributes to do that (<win>+r type attrib e:\boot.ini -r -s ) if we imagine the xp drive is E: ; add -h if you haven't set up your windows to show hidden files and folders.
When you've done all of that you need to use bcdedit (another command line program) to add widnows xp to your vista boot loader.