Is there a way to customize vibrate patterns?
SMS Popup does vibration patterns on a per contact basis (or for all texts).  

Handcent does it only for all texts.

Missed Call will do vibration patterns for SMS (per contact), phone calls (per contact),  Battery, Calendar events, device storage, etc.