Is there any way to have a shopkeeper or their friends forgive me?
I've managed to anger the shopkeeper or his friends in many ways in Spelunky by blowing them up unintentionally or destroying their shop with a boulder. I've had shopkeepers show up in other levels if I managed to get away, and kill me there as well, so they don't seem to forget. The other shopkeepers also seem to know if you've killed another shopkeeper, and they go after you as well.
Is there any way to get a shopkeeper to forgive you after they call you a terrorist, or are you pretty much out of luck in using the shops after you've killed one?
Solution 1:
Shopkeepers are very spiteful! After you anger one, all other shopkeepers in the game become hostile, and one will be waiting for you at the exit to every level. Your only option is to avoid or kill them. This becomes a lot easier if you manage to get hold of one of their shotguns, though. Good luck!
Solution 2:
It depends on what you do to the shopkeeper:
If you kill a shopkeeper they stay mad for the rest of the game, and every subsequent level will have one waiting for you near the exit.
If you destroy one of the squares of their shop or steal something from them they become enraged, but if you escape without killing them you will be forgiven in 3-4 levels (assuming that you don't set them off again).
Solution 3:
According to the Spelunky wiki, Shopkeepers keep track of a "wanted" level that goes up or down based on your actions (it goes up if you do things that further anger them, it goes down as you complete levels).
Keep in mind that the Spelunky wiki is mostly about the PC version, and there might be differences with the Xbox 360 version if that's the one you're asking about.