- She harassed me for days over mistake.
- They would have teased me for not being brave.
Both prepositions indicate the reason for harrassment. What is the difference in meaning? Can they be used interchangeably?
It could come down to personal choice, as the meanings are so close to the point of being interchangeable. But if you want to convey a more subtle meaning, you might use "She harassed me for days over this and that" when you want to express a particular type of exasperation, particularly if the mistake was, in your view, small.
"Over", in this case, expresses something that is absurd or disproportionate for the situation. Conversely, imagine how awkward it would be to hear someone say "The politician was harassed by the press over his misogynistic statements" as opposed to "The politician was harassed by the press for his misogynistic statements". If you used "over", it would sound like the statements were small fries and the harassment was disproportionate to his crime.
If you used "She harassed me for days for saying that.", it would not necessarily imply that the harassment was undeserved - at least not so much in writing. If, when speaking, you put the emphasis on days ("She harassed me for days for saying that") that would convey the same frustration as when you used "over" instead of "for". But if you put the emphasis elsewhere, and used "for", you could leave it up to the listener (or reader) whether the harassment was merited.
To see the difference, we need to find an example where they don't both work. "She nagged me over the dirty laundry/*She nagged me for the dirty laundry." Second one doesn't work for me at all because it sounds like the laundry put her up to it.
I'll argue, then, that "over" indicates purpose while for indicates cause. That is, "over" attributes the reason for the action to the subject of the sentence while "for" attributes the reason for the action to the object of the preposition.