N.S.
I have noticed that my stepdaughter (who is normally very truthful) will lie for one of 3 reasons:
1. They don't want to get in trouble, and they think that lying is a better choice.
2. They want attention.
3. They want to be right about something.
I don't know which one (or all three) you daughter has.
You could try this one tactic if nothing else has worked. Ignore the lie, and praise her for the one thing she did right.
For example, if she says "I want the blue one!" and a minute later she says "I never said I wanted the blue one, I said I wanted the red one!" you could say "Thank you for choosing the red one."
If she's having a disagreement with her sibling, you could say "you are doing a good job of not changing your mind."
I know it sounds weird and contrary to what you WANT to do (punish) but if punishment hasn't worked then your daughter is doing it because she wants to be punished and wants the attention. Whatever you're doing is keeping it going, so why not try the opposite? It sounds like she might lie because she feels inferior, or not loved. And I've noticed that my SD will act up and WANT to be punished because somehow that's attention to her. So I give attention to the positive...and believe it or not she does more of whatever gives her attention.
Your daughter knows she is lying. She knows it's wrong. She can't help it anymore. Somewhere along the line lying became the solution to whatever problem she is having. So if you give her love for what she does right, perhaps the lying will cease on it's own because her need it being met.
Hope that helps!