Balanomorey, I totally sympathise, my 2 year old is a whingeing demanding sod most of the time. The few times he is in a good mood he is a littler charmer. But if we have a run of whingey, whiney, difficult behaviour, I find my patience wearing thin.
I agree totally with the posts from people like HonoriaGlossop. If you can change your own behaviour and expectations, I think you will begin to see improvements in DD's behaviour, which will stop things escalating to the point where you are ranting and raving and losing it.
It's good that you posted about your experience with the chocolate as people have been able to advise you what they might have done differently to avoid the the end situation you describe of everybody being unhappy. What I would have done was to expect a change of mind over choice of choc (totally normal at that age) and be prepared in your mind as to how you are going to deal with it. Does distraction technique work with her? ie. as soon as she says she wants the kinder egg instead, you say "No, the aero has already been put through the till so we have to have that, oh look have you seen that squirrel on the wall over there?", all the while getting out of the shop and away from the point of contention.
I would also definitely not have put the choc in the bin straight away unless you'd specifically warned her calmly, loudly and clearly, bending down at her level(so that she could hear through her screaming) that if she doesn't stop crying/whinging you will put it in the bin. If she understands that and carries on, put it in the bin. She will learn that tantrumming loses her nice things. If she stops, she gets the choc and she has learnt that it is better to behave well as she gets a good result from that. With my DS, no matter how bad his tantrum, as soon as he stops the whingeing and behaves well again, I praise him for calming down and behaving nicely, and usually we have a quick hug. I have noticed his bad behaviour escalates the more I lose control myself by shouting at him, so I have learnt to appear calm to him even if I'm going nuts with anger inside! (a bit like what whoopee does in her post).
Sorry to sound more negative towards how you handled it (not really intending it to be, it's supposed to be constructive criticism LOL, just letting you know what seems to work in our house), but I would definitely not have done the naughty step either. It is physically far away from where the choc tantrum episode took place, and I think that at this age they are just too young to connect the naughty step at home with an incident that happeend out of the house earlier. If you are going to use the naughty step, use it only for bad behaviour at home, so that they go straihgt on the naughty step immediately after the episode of bad behaviour. There can't be a time gap.
Someone else pointed out that she'd also been punished twice, and it's true - she'd had her choc thrown in the bin, AND she'd been put on the naughty step. If I were her, I'd be feeling a bit badly done to as well, and a tad angry and frustrated, and I'd be getting off the step as I'd feel it just wasn't fair. Sometimes you have to try and put yourselvs in their place and try to imagine what they're thinking to try and figure out WHY they're behaving like that.
One more thing, you say you got flustered in the shop cos of her behaviour. DO NOT give a shit about what other people are thinking. It is not affecting them, it is nothing to do with them, so just go ahead and discipline your child as you would at home without feeling flustered or embarrassed. I really have learned that it doesn't help matters if you are worried about what other people are thinking, as you won't handle the disciplining as well. Actually if you catch a woman's eye as it's all going on, you may get a sympathetic, knowing look as she's probably been there herself!
oh, another final thing.....I DO get mad a lot at DS2's whingey, demanding personality. Believe me, from time to time I get as angry as you describe. The difference is, I just don't let him see me when I lose it. I go in another room where he can't see me. Preferably upstairs where I will punch pillows on the bed, or even scream into a pillow. Also, 5 mins upstairs physically away from them just diffuses the intense anger usually enough for me to think and behave rationally again rather than just be a nasty shouting ball of rage!
It sounds like you desperately need some time for YOU at the moment. Is there anyone who can babysit or even have the kids overnight? A bit of time away from them does me the world of good and really refreshes me (until the next tantrum LOL).
I really feel for you, but you CAN improve things - take on the good advice given in these replies and see how it goes. Good luck!