To be honest, I find that it's very rare for anyone to repeat themselves after a 'selective hearing' moment. For some reason this is usually enough for the person to 'hear themselves' and think better of repeating the demand.
If the person did, say, repeat a demand for you to plug in their straighteners, you could try deliberately misunderstanding them and try to 'help' by telling them how to do it themselves - e.g. 'Oh gosh, sorry, I didn't say where the plug sockets are, there's one just here/there/behind the bookshelf'. Or, 'Get me a top up of wine' - 'Sure, help yourself - the fridge is full to the brim '
As for the 'friend' who is miserable and horrid when you meet up with her, why bother with her at all?? I wouldn't! What do you get out of this 'friendship'? I know I said you need to make an effort to show up to stuff, but I was thinking more about events that will be fun when you get there but involve an effort/days when you feel a bit tired and 'meh' and would really rather slob in front of the telly/Mumsnet etc - you don't have to force yourself to drive miles to meet miseries!!! I would do as the earlier poster says and just stop making all the effort, the suggested reply of 'Oh what a shame, let's leave it til the new year then' is a good one. Don't offer excuses or explanations, just say, 'oh I'm sorry, I can't do X date/I'm not going to be able to make a meeting in X city that week' etc.
I have always without exception found that when I have phased out someone who is not very nice, I've met someone better. Make room in your life for new friends, get out there and do fun stuff, join a class (make it something you are genuinely interested in learning about, not just a 'vehicle' for meeting people), invest less of yourself in superficial social friendships and reserve your real energy for the few people who deserve it.