It's certainly possible to do with commercial tools like Acronis Disk Director which has excellent linux support for ext2,3 and reiserfs:
http://www.acronis.com/homecomputing.../diskdirector/
It's a windows program but you can make a bootable cd that can run the program once you install it in windows. In fact, the bootable cd is really a mini bootable linux cd. This is the best commercail partitioning tool I've found with very good linux support. I don't recommend Partition Magic which has bad linux support IMHO.
I don't know if I'd try to do that with free tools like cfdisk or sfdisk. The live cd, PCLOS, has a nice graphical partitioning suite adopted from mandrake/mandriva's "Control Center"(harddrake):
http://www.pclinuxos.com/page.php?6
This is the best free partitioning tool I've seen and can resize ntfs. What you need to do is shrink that first partition down and put the unallocated space on the back end of the partition. Then increase the adjacent partition with that unallocated space and decrease it and put the unallocated space on it's back end and so on until you get that unallocated space to your end partition. I would do each of these operations separately backing up data before each operation.