First, let your daughter know that it's okay for her to be upset or to be angry. That it's how she deals with it that matters.
Our 5 year old once got really upset thinking I would be mad because she had an accident in her bed. I asked her what happened, and she started to cry and get in a tizzy. Once I calmed her down, and went to see what happened, I just said, "Okay, we need to change your sheets." She said, "You're not mad??" I told her, "No, I'm not mad. I'm not happy about it, but I'm not mad."
Our 5 year old gets frustrated with our 2 year old for the same reasons. We have to tell her that "Little sister doesn't understand about following the rules yet" or that "She doesn't understand about sharing yet..." and that that's okay.
Sounds like she's too afraid of doing something wrong. Your daughter needs to know that she can make mistakes, and that you guys will still love her. Let her know that there are ways to deal with her frustrations: count to 10, take a lap around the house, whatever.
My parents would tell us, "When you calm down, we'll talk about this." BUT I really think that time outs (done effectivley) would be a better tool. It's all about taking a time out to gain control over those emotions. Supernanny's method seems to work best.
I will tell you that we enrolled our oldest in a "movement"/tumbling class, and her confidence has just soared. It's through www.sportastiks.com and it's a wonderful program. That might be something to enroll her in that's "just for her".
When you go out in public, let her know "here's the rules". My mother had 4 of us, and would tell us..."We're going to dinner, and I expect you to behave, and not act up." If we started up saying "But I don't want to go there" her response was "I didn't ask if you wanted to go there; that's where we're going." "But I don't like anything there..." "So you won't get to eat, but you're coming with us anyway." To be fair, we don't go to real shmancy places with our kids like my parents would sometimes. BUT when we do go out, we bring a "booty bag" - a diaper bag that has a couple 8 oz. bottles of water, some goldfish crackers (they have them in little milk carton sized containers now) and/or applesauce, and maybe a few small toys or crayons and coloring things to occupy them. Our 2 year old knows to go rooting through the bag now. She'll hop off her chair, and go rooting through the bag, and hand me a bottle of water and a straw, or whatever it is she wants. That's why it's there.
THere's a pizza place we like - the owner used to be a teacher, and has an activity table set up along one wall with crayons, coloring books, go-fish game, tic-tac-toe games, etc.
We knew that if we acted up too much, my parents would pack us up and go home. There were many trips to the grocery where my mother left a full cart in the corner, and said, "We're leaving NOW - get in the car or get left." And we knew she was serious...well, she did have a good poker face, but we felt like she was serious!
One more thing I'll add - I'm sure you've heard it takes 7 "atta-boy's" to negate 1 criticism. I made it a point each night before my oldest goes to bed to tell her things she did that day that were great (I tell her it's great when it happens, and then later when we're going to bed): that she was a big help with the grocery's, that she did a good job eating dinner, and was a big help doing laundry, whatever. Encourage the good behavior, and you'll see more of it. They'll start looking for things to do where they'll get praised.
For what it's worth....