You can as long as its a ringtone you have on your phone. Go to the contacts/phone app. Select the person you want to change, edit their info. One of the options is ringtone. It'll be set to default. Select that and you'll be brought to your ringtones page to give them a specific one.
Open up your contact list. Select whoever you want to assign a ringtone to. Click the edit button in the top right hand corner and you will see an option called "ringtone" appear. You can also set different text tones for different contacts.
Absolutely. I missed my old Nokia's TEXT-TO-SPEECH Talking Caller ID... so I created an app for that! There are free versions... search for AutoRingtone.