Your 3 year old is going through a developmental phase learning about control and independence. He is doing his job of testing the limits you have placed on him. Two things to consider: 1. if his actions are interfering with appropriate family rules and disrupting normal family life, he is being given too much freedom in controling his own environment; 2. in learning how much control he can have over his parents, he is pushing your sanity limits as well as testing the waters on how easily you will "cave in" to his demands.
In both instances, he is being very "normal" (I hate this term - there are no normal or average kids - each is unique to themselves, but for lack of better terminology these terms are used). However, your response seems to be inconsistent to him. Example: bribing him with Easter candy - how many times have you stated that "candy or dessert" is for after eating the main meal?
If he is going through a "picky" stage in eating, just present him with the PB&J or chicken, but be firm that he is too old to be fed my mom or dad. Explain simply that if he does not eat what he is given, then he will not get anything else to eat until the next scheduled meal. He will resist and complain, but you must hold firm. Even if he cries, throws a temper tantrum or wakes up in the middle of the night, don't give him anything until the next meal. It will not hurt him to go without a meal or two. It will not take long for him to learn that though you give choices at times, you, as parents, are in control and he must learn to follow the rules.
I know how hard this can be. I am a mother of 4 children and have been through this experience at different ages for each of them. It is hard to not feel guilty as a parent because we want to "take care of and make our children feeled loved"; but teaching limitations to what each child can control at different ages is being the best loving parent we can be.
Your son will learn quickly what he can control and how easily you can be manipulated by how you respond to this challenge. If you cave in, he will not learn proper limitations and will not be able to adjust to harder limitations later in life. So, I suggest you pray for strength and be firm. Tell him he has a certain amount of time to eat what is given to him. If he does not eat within this time frame, pick up the food, put it away, and do not give him anything else until the next scheduled meal. If he is thirsty, tell him he can have water. Giving him milk or juice is like giving him a snack. He will not be harmed by just drinking water for even a couple of meals. Believe me, when he gets hungry enough (and he will), he will eat what is placed in front of him and the cycle of testing will end.
I hope this helps. I know it will be hard on you; but there is no harm being done to your child. You will be a loving parent teaching your son how much control he can have at this age and he will be a more mature and balanced child.
I will keep your family in my prayers. You sound like a loving and caring family. This is just what we need more of on earth.
Karen - mother of 4 (17 yrs, 15 yrs, 11 yrs, 9 yrs), wife of husband who travels, and a full time Store Manager