Yes, partitions can be resized using quite a few different bootable utilities. XP has no built-in functionality to resize partitions. (Vista does.)
You first run a CHKDSK /f and a defrag on both partitions. Then boot into the utility, shrink one partition to create free space contiguous to the partition you want to enlarge, and then enlarge the other partition into the free space. Then you start the computer and run a CHKDSK /f on each partition (if it doesn't do it automatically).
There are any number of utilities that can do this, including Acronis Partition Manager, Partition Magic, Partition Commander, Paragon Disk Manager, Drive Works, and probably dozens of others. Some of them, I believe, can be installed on the hard drive and allow resizing from within Windows, but I usually use bootable utilities (generally Paragon or Acronis). Resizing can also be done using almost any live Linux distro if you're familiar with Linux.
Resizing partitions is a routine and common job for computer techs, but it's not completely without risk. You may want to let a shop do this one. As for precautions, I always clone the drive in its current configuration first as a backup, and I do the repartitioning while the machine is on a UPS. Losing power during the process could result in a disaster.
Rich