Set Mail app so it won't mark messages as read on the server
This mechanism is a feature of the mail protocol that you are using, and isn't a local feature that you can choose to set within Mail.  You are likely useing either IMAP or Exchange, the the replication of mail states for things like location, unread/read etc is a part of the normal operation.

I am not at a Mac, so I cannot test for features, but the best you can hope for is a configuration in Mail that will allow you to either change what action marks the mail as read or not (Might be mere selection, might be opening the time specifically, might be viewing the message for more than X seconds etc) or extend the time that it takes for the action to complete (viewd for 5 seconds, or 10, etc).

You can of course simply right click on a read mail and then mark it as unread again.