The guy asks a simple question and gets lectured by everyone. Completely uncalled for.
At its core, both a Blackberry and an Android are handheld devices that have functionality to allow you to communicate with others (via phone, text, IM, whatever). The platform, hardware, etc, is irrelevant to his original question. He had a device that would allow custom notifications, and would like to replicate that on his Android. Fair question.
In reality, it works identical to the Blackberry. If the developer of an app implements a method of custom notifications, you can use that. If that app "uses" notifications, but does not allow custom notifications, it is stuck with the default.
To answer the specific questions...
1) Every email app I've seen allows custom notification sounds. You should be able to set that within the application settings.
2) I dont remember if the stock IM app allows a custom notification. My gut says that is only uses the default one on the phone. My recommendation would be to download Handcent SMS, which is considered one of the better SMS apps out there. Its very customizable as far as notification sounds.
3) I've found very few apps that let you customize vibration notifications, but I DID eventually run across Smart Vibrate, which will let you create you own unique vibration patterns for both SMS and Phone calls (it does NOT do emails).
One thing to be wary of... if you have multiple apps to handle the same thing, it may make your phone a little "loopy". IE, Handcent SMS can set custom vibrations for SMS messages only. If you also enable that functionality within Smart Vibrate, BOTH apps will try to execute their vibration patterns at the same time, and you won't have any idea whats going on. This can take a lot of trial and error. I have had similar problems with audible notifications.
Hope this helps. I've been down this road before, coming from Blackberry. It IS a superior device... its just a matter of finding the right apps!