You missed /var/log/. In fact, most files under /var tend to grow with time.
One option is to switch to using qmail, which can spool email directly under the user's home directory, removing the need to a seperate /var/spool/mail directory.
Another option is to create one big filesystem and just remount it in all three places. Disadvantages of this include a rather messy filesystem and the fact that you can't use different filesystem types for each partition. (Tip: you probably want a journalled filesystem for /var/…)
The only filesystem that I know of that can grow on demand is tmpfs, which stores its contents entirely in memory (in RAM or swap). This is often used for /tmp to prevent it from filling up with files on machines that get rebooted frequently. However, you might consider using this for some things under /var, if you don't care about keeping log or spool files between reboots.
You could also set up three partitions on a hard disk, and resize them as needed with gnuparted (http://www.gnu.org/software/parted/
). The downside to this is that you will probably have to use a FAT32 partition if you want to resize all three partitions freely, which puts limitations on filenames and permissions (as well as being case-insensitive).