You can download the app called Ringo Lite. Then assign a ringtone for each caller or sms ringtone.
You can also down the app called Ringdroid & make ringtones there. Assign those ringtones just by going into edit contact
How do I set ring tone for individual people call like friend, or family?
If you just want to assign a different ringtone to a contact, just call up the contact from the list, touch the menu button, and choose 'options'.
You will be presented with a screen where you can pick your ringtone for that contact. You can also, from here, choose to send that contact directly to voicemail. Useful for someone that's otherwise annoying.
If you want to get fancy with ringtones, you get a free app called "Ringdroid". It allows you to pick any part of any MP3 for a ringtone. Pretty cool app.
hmmm... I see I am just repeating info. Oh well.