Over at the bustling hivemind of xda-developers, poster Carsten4207 has just published his first app to the Market, and it's one with a neat little trick. The app, when enabled, uses the proximity sensor to determine whether your phone is in your pocket/face-down or facing up on a surface. You can then decide whether or not you want your phone to vibrate for incoming SMS messages depending on the situation.
The application does not poll constantly, instead tapping into your SMS state. Additionally, the app is only activated when a message is received, limiting the impact on battery life.
As it's Carsten4207's first app, it's forgivable that the functionality is somewhat limited - the automation does not extend to calls, for example, but if you don't care much for calls and just want something not overly complex, then SmartSMSVibrate may be just the tool for you.
The app is available for free from the Market, although there is also a donate version that costs $0.99:
Thread: [APP] SmartSMSVibrate