I just had the same question few days before and got some help here. So I feel it is my turn now to help others
You can use Partition Magic to repartition your HD without damaging Windows XP. YOu can create a new partition of 20GB where u can install Linux.
It is recommended to use SWAP size twice the amount of RAM. So in your case it should be 1GB. You can use the rest as ext3 file system partition.
I hope this helps.