Yes it's possible. You need use **Imap.Peek*** methods e.g. Imap.PeekMessageByUID. Those methods don't set the \Seen flag on the email messages they use.
Then, after you processed the message, you can use
Imap.MarkMessageSeenByUID to set the \Seen flag or Imap.MarkMessageUnSeenByUID to remove it.