Resizing XP goes like this:
1- Like Rich said: defrag a couple of times (not mandatory, but this lowers a lot the risk of losing all your data).
2- Boot a LiveCD or LiveUSB (eg: TinyCore), start gparted, and resize the NTFS partition without changing its starting point; just change its ending location: less risk again. Apply.
3- If you're paranoid with your data, restart the PC, let XP check the partitions (it's normal procedure, don't worry), then restart the LiveCD/USB and gparted again.
4- In the newly empty space, create a partition for TinyCore. Apply.
5- Restart the PC, and let XP check the partitions (Windows always does this when a "foreign" tool has tampered with the disk).
6- Follow TinyCore's WIKI for installation.