http://www.symantec.com/home_homeoffice/products/system_performance/pm80/index.html
thats pretty much the best partitioner you will find, runs from windows
when you partition the drive, just resize your windows one and leave at least 10gb, closer to 20 or 30 if you can spare it, UNPARTITIONED!!! do NOT format it, do NOT partition the extra space
WHEN you install ubuntu, you do a manual partition table edit (don't do the take over entire drive option), and make one partition somewhere between 512mb and 1gb, and set that as your swap partition, and the other as a ReiserFS partition set as '/' - root
optional: make a fat32 partition to act as a transfer drive between linux and windows, linux can READ ntfs, but not WRITE to ntfs, and windows can't read OR write to any of the linux partitions, hence the reason its in FAT32, i have a 1gb fat32 partition set as /shared in linux, and G: in windows to act as said transfer, whereas my friend has an 80gb FAT32 partition that he uses to store all his music and data on, so that both windows and linux can access w/ read/write the bulk of his data - although that isn't a viable option unless you are starting w/ a clean drive
And for those who REALLY want the "true" linux experience, check out
Linux From Scratch in which you completely do everything yourself....