You can do this with Handcent. All you have to do is have a thread open to the contact you want to change a tone for. In the top right corner there's an icon of a person with a gear to change individual settings. Just tap that icon and set a different tone.