I've been meaning to look into this myself, for those times when I make a GREP style to format something, but occassionally want to “undo” the styling for a specific instance.
I just did some experimenting, and it looks like if you manually apply a Character Style it will over-ride one applied by a GREP Style. The trick is, the over-riding character style has to be explicit enough to “blot out” any attributes from the GREP Style.
EXAMPLE:
I have a GREP Style that applies a Character Style named “Computer Code” to e-mail addresses. It changes the font, size, and color. If I manually apply a Character Style onto that e-mail address whose only attribute is “color=red” then the GREP Style's font and size remain, but the overlayed “red” will take precidence.
So in order for the “overlay” to work the Character Style has to explictly state all the attributes to put-back.
The only problem I see, though it could be a biggie, is if you change the Paragraph Style at any point, you'll have to remember to match-up the overlay Character Style to match.
Does that make any sense? I found it hard to describe…