I would recommend using an easier utility to partition your disk. The cfdisk utility provides a nice graphic interface to a command line window. I noticed from your listing of fdisk -l that you have space at the end of your hard disk so this will be easy.
log on as root
open a terminal window (konsole, gnome-terminal, ...)
enter /sbin/cfdisk /dev/hda
You will see a display of your hard disk partitions. You should also be able to see the free space at the end of your hard disk.
Use the keyboard up/down arrow keys to highlight the unpartitioned space on your hard disk. Then use the keyboard left/right arrow keys to highlight an action at the bottom. I don't have any free space on any disks right now so I can't be sure what you will see. Basically you want to create a primary partition, then you want to tell cfdisk what type of partition it is. You want type 83. Then you write the changes to the disk. You should reboot the computer. When the computer is running again you want to create a file system on the partition.
You will use the mkfs command to create a file system on your new partition. You should read a bit about this command in the man pages before you use it. This is the command if you wanted to create a Reiser file system.
mkfs -t reiserfs -c /dev/hda4
If that complains about an unknown type then try this command.
mkfs -t reiser -c /dev/hda4
This command could take awhile because the -c option tells mkfs to check for bad blocks. You can leave the -c out if you feel lucky.
Unfortunately I'm unable to try each of these commands so I might make a syntax error.
Next you want to mount this new file system and copy your old /home stuff into this directory. Still as root enter these commands. I was able to test the pax command without altering my own disks.
mount /dev/hda4 /mnt/tmp
pax -r . -w /mnt/tmp -v -pe
The pax command copies your files to the new partition. Next enter these commands.
mount /dev/hda4 /home
ls -la /home
Hopefully you will see all of the files that you had in your old /home directory. Did you notice that we didn't delete anything in the original /home directory that is located on /dev/hda2? You can mount a partition on a directory that has files in it. The files in the directory are not harmed, they are just hidden. This way if the pax command didn't work you still have the original /home directory with all of the files still there.
When you are satisfied that all of the files were copied to the new partition you can unmount the new partition and delete the original files.
Now you want to put a line in your /etc/fstab file to tell Linux to mount your new partition when the system starts. I'm not exactly sure what to enter as the file system (whether it's reiser or reiserfs) but the next line should be entered into your /etc/fstab.
/dev/hda4 /home reiser defaults 1 1
I'm pretty sure that would work. If reiser doesn't work then reiserfs might work. You can test it by entering the following commands.
This sequence of commands first lists all of the mounted partitions, then it unmounts the partition on the /home directory, then it lists all of the mounted partitions, then it tries to mount all of the partitions listed in the /etc/fstab file, and lastly it lists all of the mounted partitions. Naturally we are listing all of the mounted partitions between each action in order to see if there is a difference between these listings. If the mount -a command did not mount /dev/hda4 back to the /home directory then we have made an error. Otherwise you should be all set. Post back if you encounter problems.