To your three questions: no, no, and probably.
In Civ 5 the courthouse is indeed the only way to remove the unhappiness caused by occupation.
I wanted to check for myself if a city always stays "occupied" even after 100 turns or more, so I conducted some Lazy Science™!
First, I took my Babylonian empire, which had overrun Sydney around 100 turns ago( , rough estimates, go Lazy Science!).
Here is a picture of the city before I sold the courthouse:
And here is my city after, notice that it is again marked as occupied, and that my Civ's happiness has decreased substantially.
Here you can see the unhappiness attributed to occupied cites:
I also took a German civ at turn 273, which had done away with the wretched Babylonians over 150 turns ago.
I then took both Akkad and Babylon, and sold their courthouses.
You can see here that my Civ's happiness went from 8 to 2, and that both cites reverted to an occupied state.
So, it seems that in regard to your first two questions:
- No, you shouldn't really get rid of courthouses.
- No, occupied cites never really forget your transgressions against them.
Your third question, "Does destroying another Civ have an impact on their captured city" is a bit out of the scope of my answer (that and it would require more Lazy Science than I would want to do right now). From my poor and easily forgotten experience, I recall that destroying a Civ will make both their captured cites and other Civs a little bit more miffed with you. I don't know if being a city being puppeted would affect this.
If you want a more in-depth answer, you should try asking this as a separate question.