A: I think you are probably correct that your 3 year old isn't lying because her "imagination is running wild, because she obviously realizes it is wrong..." My guess is that she is lying as an expression of her confusion and her anger. She is lying because she is too little to respond to conflict between people in a more adult, rational, articulate fashion. She doesn't yet have the patience, the vocabulary, or the self-control--because she is so young. She uses the only weapon she has.
I also have a guess that you have high standards for her behavior. Is it possible that you are placing expectations on her which are over her head right now? A small child who feels put in a jam will lie to get out of it. Such a child is too young to really analyze the situation and discuss it with you like an adult, because she does not know how to advocate for her own point of view. She is old enough to know that you are annoyed with her but not old enough to resolve the issue between you smoothly as an adult would do.
If this is the problem, the solution would be to step back from the whole picture for a while. Try to imagine how confusing the world must be to a 3 year old, even if she seems in some ways very clever and shrewd. You might let up on some of your demands on your daughter and expect a bit less maturity over the next several months. I am pretty sure that she will feel less need to lie if she feels more secure in your approval of her.
The basic issue is one of trust between you and your daughter. Trust is something that has to go both ways. She does not trust that she can tell you the truth. You do not trust that she is truthful. Because she is so little, she cannot make constructive changes in your relationship that would turn this around--but you can! Letting up on expectations and demands, and showing her more emotional support can help you put your relationship back on a level of mutual trust.