Let me add my voice to those who think:
[ul][li] Snape is working against Voldemort[/li][li] Snape loved Lily Evans[/ul]The strongest evidence comes from a conversation between Dumbledore and Harry in Half-Blood Prince. After Harry found out from Trelaney that it was Snape who overheard the prophecy, he stormed into Dumbledore’s office demanding to know how Dumbledore could employ the man who had caused Voldemort to murder Harry’s parents. Dumbledore told Harry the following:[/li]1) At the time Snape didn’t know to whom the prophecy referred (i.e., that it would lead to Voldemort targeting James and Lily)
2) Once he saw the result, Snape greatly regretted telling Voldemort. I believe Dumbledore speculates that this might be Snape’s greatest regret.
It’s possible Dumbledore is mistaken, but at the very least it is clear that Dumbledore believes that Snape loved Lily. What other explanation for his words could there possibly be? Snape has repeatedly expressed his hatred for James, so James’ death would not have bothered him (as Harry himself points out.) Snape hates Harry too, but even if he didn’t, it’s irrelevant since Harry ultimately came through the encounter unscathed. Now, if Snape were loyal to Voldemort, he might have regretted his master’s destruction. But that can’t be it either – if that’s what Dumbledore meant, he never would have presented this in defense of Snape’s actions. Moreover, his preface that Snape didn’t know to whom the prophecy referred would make no sense in that context – obviously Snape knew it referred to Voldemort. He just didn’t know who Voldemort’s victims would be.
The only remaining possibility is Lily. Dumbledore believes that Snape regrets telling Voldemort because it resulted in Lily’s death. We’ve heard very little about Snape and Lily. So far as I can recall, Snape’s never mentioned her. He always insults Harry’s father (and his father’s friends) not Harry’s parents. There was the one scene Harry witnessed in the pensieve, when James was tormenting Snape and Lily came to his aid by telling James to stop. True, Snape reacted by insulting her, saying something like “I don’t need any help from a mudblood.” But I think this could easily be explained as bluster to cover his embarassment at having to be saved by the girl he’d like to impress. Plus, we know Snape doesn’t like to owe anyone anything – look at his reaction to James saving him from Lupin. Anyway, as I said, I don’t really see any alternative explanation for Dumbledore’s words.
So, at the very least, Dumbledore thinks Snape loved Lily. But what if Dumbledore is wrong? Well, I suppose that’s possible, but I don’t think Rowling would have held back Dumbledore’s theory for this long if it was just going to be proven wrong anyway. I have to think she’s holding back on explaining why Dumbledore trusted Snape so as not to give the readers a reason to trust Snape – in other words, to create the maximum shock when Dumbledore’s secret is revealed and Snape is shown to be on the right side after all.
While my main reason for believing Snape loved Lily is the one I gave above, it also helps to answer a related question: How could Dumbledore be so sure? Given that Snape is an excellent occlumens, and Voldemort is a renowned legilimens (Snape himself calls Voldemort the greatest legilimens), how could Dumbledore be sure that it was Voldemort and not himself who had been deceived? The answer is that Dumbledore knows Voldemort’s weakness. As he’s said more than once, Voldemort cannot understand love, and thus underestimates it. So it makes perfect sense that Voldemort would fail to suspect that Snape could turn against him out of love.