Pardon? That was a little unclear.
You should partition the disk into either two or three partitions. One for XP, one for windows 7, one for data you want easily accessible from either. Do this however you like, gparted is probably best.
Install XP first, then windows 7. If you ignore this, you wont be able to boot windows 7 after you install XP.
A 30 gb hard drive is more than capable of housing two operating systems. I have ubuntu and XP on mine, recently I had two copies of XP, one ubuntu and one debian. Fits fine.