I have some similar behavioral problems as well with my almost 5 yr. old daughter.
She seems to desire to actively engage in argumentative discussion, she negotiates like a little lawyer and does try to circumvent authority.
I give her choices regarding her behavior. I ask her if negotiating with me will make me change my mind...she answers no because she already knows the answer. So then I will tell her that she might as well stop unless she wants to get into trouble. I will also give her an if/then scenario. If you choose to continue with this behavior, this will happen...what is your choice? You have to be careful how many warnings you give. If you engage them in the argument, they will continue it because it provides them with the control they so often desire.
The problem I think...with my daughter anyway...is that she has so much "adult-like" information in her head, but seeing that she is not even 5 yet...emotionally...it's too much for her to handle so she acts out. She speaks like an adult and often times I do think my expectations of her are too high...which is unfortunately what happened when my husband and I were both children as we were labeled gifted.
At any rate...though I often explain things...if she asks me the same question I tell her I have already told her my answer and if she wasn't listening to me then it's not my problem. That usually stops the questioning. I don't often say "because I told you so", but sometimes I do. She needs to understand who is in charge.
It's funny because this morning actually she brought down her baby doll and said to me..."Mom, I'm the boss of my baby." LOL and I said, "Yes honey you are...does she listen to you?" And she said..."yes, she has to."
I wish you the best. Set up some consistent boundaries because children with such a high intelligent will strive to be in control moreso I think than what is typical. Explanations are fine but continued explanations about the same thing can be avoided and I would highly recommend that the next time she tells you to leave, that you take the reins and make sure she realizes that she cannot talk to you like that. My method of discipline often is utilizing time outs or taking away privledges. It's hard to be consistent but it's imperative.
I hope this helps some.