I Am Only Human
I am only human. Why did we just say this? Because, I think we tend to forget this at times.
When we're angry at our spouse, or yell at our children, we don't get too down ourselves. We recognize that we're only human. When we hurt someone we care about, again we realize we're only human. When we question the actions of a friend, we realize we're only human. So why is it we ignore this fact of being human when it comes to being angry at God?
We believe we're not supposed to get mad at God. We believe we're supposed to be superhuman, or godlike, when it comes to our relationship with him. We believe we're supposed to ignore our humanness.
This is the first reason why it is ok to be angry with God - because we're only human. We cannot and should not have the unrealistic expectation that we should somehow be more than human.
God Says It's Ok
In Ephesians 4, verse 26, we're told: "Be angry but do not sin; do not let the sun go down on your anger." God understands we are human, with human emotions. He created us after all. And He knows that there is no way we can understand why He does what He does in our lives. And He knows that this lack of knowledge will frustrate us. If He didn't know this, I don't think the words "Trust in the Lord" would have had to be repeated so often in the Bible (I found one source that said some version of "trust in Him" [depending on the Bible translation] appears anywhere from 150 to 200 times). We consistently need that reminder that we should trust Him... but this does not mean we are not allowed to be angry.
Be angry. He gives us permission. However, we're also given some restrictions to that anger. We're not to sin in our anger. And we're not to let the sun go down with that anger still within us.
We Need to Say "God, I'm Angry!"
As I stated above, we're not to let the sun go down on our anger. This means we need to work through our anger. Working through our anger doesn't mean stuffing it, suppressing it, or ignoring it. Think about your relationship with your spouse, or significant other. When you get angry with each other, suppressing that anger often leads to more anger and hurt in the long run. However, if you can tell your spouse, "Hey, you refusing to help out around the house today made me angry" - when you're able to voice how you feel - then you can both work together to fix the problem, or at least get that anger out of you. It frees your heart to forgive and be forgiven (ever try to forgive someone when we're still angry as heck at the person? Or ask for forgiveness from them when you're still seething?)
It's no different with God. When we recognize that we're angry with God, we need to be honest with Him. We need to reach out to Him with our raw emotions, trusting that He will understand. We need to say "Look God, I'm really pissed at you." Owning up to that anger and saying it to Him actually strengthens your relationship with God. It frees you to be able to have an honest conversation with Him, allowing Him to heal and forgive you.
You've Probably Been Angry with Him (Or Still Are), and He Knows This
I've often found that those who say we should not be angry with God are angry with Him... they just don't realize it. They start to get angry, and believe they cannot direct that anger at their Creator, so they stuff it down deep. They repeat the mantras of trusting in God to themselves to cover up that anger. They hide that anger from themselves because they believe it is a sin to be angry with God.
The problem with this, however, is that God already knows what's in your heart - including the things you try to bury. And additionally, by stuffing it all down and hiding it, you're basically saying you don't trust in God's forgiving and loving nature.
You're better off just facing that anger head-on, telling God how you feel, vent a little even (I've yelled at Him on numerous occasions), then apologize and ask for forgiveness, and trust in His unending grace, mercy, and love.