This sounds really silly but you can't mark text messages as “unread” in iOS 7. From a UX point of view, this makes sense: text messages were intended to be easy, short and quick forms of communication. Something where you replied as soon as you got a message so having the unread option was not required.
But let's face it. Some of us get many text messages and we don't want to reply instantly. If you open a message and it gets marked as read, you might forget that there's a message you have to reply to. Not exactly a good situation.
But someone worked out a solution. That it comes in the form of a jailbreak tweak would put most of the iOS user-base out of bounds but for the small group of people that have a jailbroken iPhone and need a way to mark text messages as unread – even entire threads – here's something to use.
On Cydia, you'll find a tweak called Unread which lets you mark text messages and iMessage thread as unread. And the ingenuity of the tweak is that it doesn't have any preferences nor does it add anything new to the interface.
After installing Unread, you just have to tap and hold on any Message thread/conversation (not any individual message). This will mark it as unread and put that blue icon right next to it.
However simple and elegant the solution seems, Unread seems to be problematic in some core areas of functionality. To begin with, if you quit the Messages app after you used Unread to mark some thread as unread, the next time you open Messages app, it will be gone. Thankfully, not many people clear out all the background apps often so there's very little chance that you'll be hindered by this bug. The second bug seems to be where it doesn't put back the notification badge on the Messages app icon if you marked a message as unread.
Unread is a stop-gap arrangement till it gets fixed with feature-upgrades or some other tweak comes up. But barring all the lack of features (esp the badge icon when there are unread messages), Unread can be useful.
Unread is free on the BigBoss repo.