I was hoping I would get a better answer than what you got, because I'm looking for the same thing. Anyway, I'll contribute my solution because it's closer to bridging that plain-text/rich-text divide.
I'm using SubEthaEdit, turn on "Show Modifications" and then clear all modifications. This highlights what I change, so I can delete+undo a word or line to highlight something. In this app you can save as text or a Subetha document, depending on whether you want to save the highlights but mine are almost always transitory. I like it because I can open a straight text document (source code or a log file) and immediately start making highlights without needing to convert to RTF first. It's also got spectacular regex support (and I've even used the headline feature: collaborative editing, but not for a while). Alas, you can't annotate non-distructively or use multiple colors or anything.
It's also not free, but even with all those caveats I mentioned, it has saved me many times and was worth the money. I'll keep buying things until I find the one!