In "iOS 5 has SMS mark-as-unread, sort of" I described how the Notification Center can be used to review SMS/iMessage messages without marking them as read, so that you can reply to them at your leisure, without having to remember that you need to reply to them.
Even with this strategy you still run the risk of marking a message as read if you need to to jump into the Messages app for any reason (e.g., to send a message to someone other than the person(s) to whom a reply is due). This becomes especially tricky when you've a single person with unread messages, because jumping into the app almost always takes you straight to that thread, subsequently marking those messages as read.
Enter Drafts--which, immediately upon on its release, completely obviated Birdhouse for me--a fantastic app that allows you to shuttle your drafts to, well, damn near anywhere, including the Messages app.
The rub though with sending messages through Drafts is that it doesn't throw you into the Messages app. You type your message, select the "Message" action, fill in the "To:" line and hit "Send." Your message is sent, and the Messages app is never activated, thus leaving all of your "unread" messages unread.