I have the EXACT same thing going on right now--except I don't have a 7 year old. I have a 3 1/2 yr old daughter and 15 mos old son. She's a bit jealous sometimes of the things brother gets away with, but we make sure to give her lots of love. I think jealousy is inevitable. I also think the good and bad comments are fine as long as you specify that the Behavior is bad and not the child. They'll know the difference because they'll remember you telling them that they are good, but their behavior or their choice was not.
As for my daughter, I've noticed recently that when she is not listening to me she is often thinking about or doing something else. Which to me says that it's not that she doesn't want to listen to or obey me, it's that she's overwhelmed or distracted by something else. Her mind is always going, whether it's something she's trying to figure out, something she's about to say, or some song she has reeling through her head. I'm sure that sometimes it's a defiant attitude, but mostly I just think her brain is constantly working itself to the point where she has to slow it down just to listen to what I'm saying. They're really at a stage where their brain development is at an all time high--always learning, absorbing, and observing.
So, lately I've been talking slowly, touching her, or speaking closely to her to get her attention first, and then I ask her nicely and say please as I request it. Also, it helps me to say things like "let me see how good you can..." or "you're so good at...you're such a big girl!" And it doesn't always work, sometimes I do the punishment thing like you talked about, but you usually have some of that with all kids. I get so frustrated sometimes that I have to breath and count to 10 before I talk to her again so that I don't overreact. I guess we just have to keep the faith that we're doing the best we can and that sometime they will begin to improve.