Are there any desktop chat applications (for Mac) that can read out messages as they arrive, suitable for occasionally communicating with someone in a library with someone who is wearing earphones and doesn't wanting to look at their screen?
The built-in Messages.app has support for AppleScript, and includes an example script that will use the OS speech system to notify you about events (message received, new chat invitation etc) - a little editing (to comment out unneeded parts and add message speaking) should do the trick.
Edit:
In fact, it seems like the default "Speak Events" script does exactly what you want, without any changes.