I noticed 2 specific examples. If you smash the annoying gits jar you get 12500XP (as opposed to zero if you suck it up). The other jars make no odds either way. If you manage to talk your way out of fighting the sulky blinded soldier you get nothing but if you kill him you do.

There is no logic really. Sometimes being nice gets you XP, sometimes not. If you got the same XP whatever choice you made it would make it all rather pointless of course.

There is certainly some accounting of behavior though - the rat by braccus shrine said he wouldn't talk to an evil bastard like me on one playthrough rather than telling me about the levers. Perhaps I killed his mum by mistake - who knows.

Perhaps it is possible to maximize XP on each encounter (I'm trying it now as I want to see if I can get to level 9 - I'm not sure if it is possible but maybe). To do that you have to be inconsistent though - I normally prefer to play nice and forgive people and not kill them etc.

My feeling is it is fairly balanced. If you play normally you'll get to the end of act one at level 6 or 7 and level up in the last fight irrespective of your choices. I don't think you can get to the last fight being level 8 before you start and I've had a fair few goes at it.

None of it makes any odds though as after level 6 or 7 there are lots of items with +7 or more stats so I find balancing the random stuff I get more of a challenge than choosing for a character.