When I'm driving with a headset active (Bluetooth or wired), I want my Android to read me any incoming text messages.
There are a number of apps that will do this. DriveSafe.ly is what I use right now, but haven't really had the opportunity to thoroughly test their TTS engine. It can also be set up to start whenever bluetooth is paired, or if you put it in a car dock.
I did try another one out a few months ago, but can't remember the name right now. A search through the app market (or your favourite online app site) may reveal some more.
SayMyName Dessert will read SMS text. When bluetooth is attached, it still uses the speaker or wired output, though.
SMS Speak does text to speech for your SMS messages. It has support for routing audio thru a connected bluetooth too. You can install different speech synthesis engines from the software libraries on the marketplace as well.
Handcent SMS has a "speak text" feature.
StartTalking seems like an app to check out. It will let you listen to incoming text messages and even replay to them. It doesn't require any Bluetooth devices (but I think it will work with one), and it's true hands free - meaning you don't have to press any button to use it, both for listening to it and replaying, it's fully voice activated. Oh and the TTS sounds surprisingly good.
The following is another resource for such apps:
At least one of the 5 listed (Handcent SMS) is SMS-specific.
Announcify - currently in beta.
It's the successor of, the already mentioned above, SayMyName Dessert.
There is an app called Smart Receiver, it speaks SMS and incoming call details very well. I use it, it is very nice.
Enhanced SMS & Caller ID will vocalize text messages and allow you to reply using your voice.
Check out Blue Control on the Marketplace. Routes sms messages to your BT headset.