I can guarantee that all modern distros recognise the Windows partition and will setup up for dual booting. There are a couple of things to make sure of first. Most systems (Windows and Linux included) can't have their bootloader located after the 1024 cylinder, this is why most people create a small (100 -150 MB is 2 - 3 times enough) as the first Primary partition, then have Windows on the second Primary partition (I have heard of Windows being installed on a Logical partition but have had problems personally), then either 1 more Primary partition or straight to the extended partition and logical partitions inside this.
If you look at the minimum partitions like this you can rebuild your Linux system without losing your home folders:
1. /boot 100 -150 MB
2. C:\ Windows XP
3. / (root)
5. Linux swap
If you want to share data look at a /data partition in FAT32 so both Windows & Linux can read & write. You may also want partitions like /srv (for web or ftp server), /opt (for optional programs - Suse puts KDE & Gnome here), /var (for logs etc) and /usr (for user files - most programs install here).
I don't want to start a flame war - there are as many partitioning schemes as there are Linux users but I have found this structure to be useful over the past 6 years of various versions of Linux.
For information on the "politically correct" partitioning scheme look at http://www.pathname.com/fhs/
I know Suse 9.3 comes with a partition resizing capability as does Mandrake ... sorry ... Mandriva and I think Ubuntu. There are probably more - it is a pretty standard task on Windows boxes to have to resize systems partitions.