Bigbanana, I really sympathise with this one, and am still wracked with guilt over the way I shouted at DS when he was 2.5, too. I used to scream 'don't whinge', totally pointless, and now I shudder as it makes me feel cruel, too.
In fact, I finally realised I was depressed, and sorted that out, but still have a tendency to snap when tired/stressed.
When I realised what pattern I was getting into with Ds, I made some quite important changes. I never attempted anything I didn't have time to do at a toddler pace. This isn't always possible, but it meant I didn't try to fit so much in. I don't think 2.5 year-olds EVER say 'o.k Mummy' and do something they have been told, do they? DS responded better to 'oooh, lets do this' and me starting it with him, or doing it together. Things like 'would Bear bring me your beaker from the table' worked better than 'would YOU...', and 'could you put that down on the table' worked better than 'give it to me'. Basically, I avoided any situation where he could be an 'antagonist', iyswim.
2.5 year-olds are also natural prevaricators. Almost any part of a process - or something else entirely - is more important at that moment than the end result. They see no need to hurry, ever. I haven't found a solution to that one!
I stopped trying to press ahead regardless. If I was trying to cook DS's tea, and he was whinging, for attention (fair enough, I was just in from work) and probably hungry too, I would stop cooking, give him loads of attention, and a piece of bread, then resume calmly when we were both ready.
And I have tried to give myself a 'stopping point' before I fly off the handle: when the tension starts rising, I stop, before it's too late, and think 'why is this really happening' or 'let's try a different approach'.
Basically, I think that at 2.5 it is a priority to avoid every possible scenario for a battle, and work on distraction and co-operation through play or doing it together.
Sorry - long reply, but your post brought my last year back to me very vividly.