First of all, it is always good to have /home on a different partition, precisely to enable multiple installations to use the same home (you can have them installed simultaneously on different partitions, all of them using the same home). But it's too late for it now.
You can always copy everything on a different hard drive (100GB is nothing nowadays). But you can also do what you want. You don't have to erase the entire hard drive to install linux, you can just remove the distro-specific files (/usr, /bin, /sbin, /lib, /var,... everything except home) and then proceed with the installation. However, you have to be careful - installation wizards are usually annoying and want to reformat and repartition your hard drive. You can usually state that you don't want to do that, but ubuntu is the most windows-like distro and there could be problems (I've never installed it for precisely that reason - it wants to be smarter than me and just gets in my way). I'd recommend you make a backup to an external drive just in case.
Resizing partitions is a tricky business and I wouldn't recommend it (it's not always possible to do it the way you want). What would I do? I'd just put in a new hard drive and have separate drives for home and system (system is also usually partitioned to separate /boot and sometimes /var from the rest).
Edit: after installation, if you don't assign the same user ids as before, the ownership will be messed up and you will have to chown the directory recursively.