If you're going to have a HDD that's always attached to the Pi then you can mount the sections of your filesystem that incur the largest number of read/writes directly from it.

These directories are probably the culprits:

    /home/
    /var/
    /tmp/

You are able to mount partitions on your external hard drive to these directories automatically at boot. Let's say your HDD is `/dev/sdb`, and it has four partitions. You can append your `/etc/fstab` to look something like this:

    /dev/sdb1 	    /var        ext4   defaults    0  1
    /dev/sdb2 	    /home       ext4   defaults    0  1
    /dev/sdb3       /tmp        ext4   defaults    0  1
    /dev/sdb4       none        swap   sw          0  0 

I've also included a swap partition. Though you might want to research how effective swap can be over USB. I really wouldn't expect much from it.

More information about swap in this question: http://raspberrypi.stackexchange.com/questions/70/how-to-set-up-swap-space