Jessie,
I am wondering if your kids have what we call "hungry grumpy" in our house. If my 4yo DS is hungry he is horrible, and (to make matters worse) in that state it is very difficult to get him to eat anything. Once we manage to get something eaten our happy kid comes back very very quickly. And until that has happened there is no point trying to explain or ask for anything at all.

I also found that any kind of "surprise" telling off or negative consequence just seemed to make things worse. But what has been pretty effective is the "count for the day". If he's naughty (usually either completely ignoring what I ask for or doing his best to make it difficult for me to do what I need to do - for example refusing to open his mouth for teeth cleaning, or refusing to stop playing on the computer when asked) I count. And the next naughty time the count starts where it left off. And if by the end of the day we are at "10" then there are no stories at bedtime.

We have only had a couple of nights with no stories.....