You can set different ringtones for all of these things. Unfortunately, you cannot set specific ringtones for specific texts in the stock text messaging app. You may be able to do that in other messaging apps. For texting, just open the texting app, click on the menu button (or whatever it's called, the one with 4 boxes), then go to message settings, then scroll down to the bottom under Notification Settings then Select Ringtone.
When I was using K-9 for email, I was able to set ringtones per email account and I could change the LED color. For the gmail app, I can't find where you can change that ringtone, but I was finally able to turn it off.
You can set specific ringtones for your contacts. Just go to that contact, hit the menu button, then Options, then you can set the ringtone for that person.