A good article on how to move partitions can be found here
but if you are planning on setting up new partitions and you want flexibility, IMO you wouldn't want to try put multiple directories in the same parititon. Work out the paritioning scheme you want first, for example (strictly for illustration purposes)
/dev/hda1 = / (root)
/dev/hda2 = swap
/dev/hda3 = /home
Naturally you could create separate partitions for /usr, /var, and so forth. Good luck with it -- J.W.