L.B.
Your son behavior is totally normal and I know this because my two year old son behaves the exact same way. He throws tantrums for no apparent reason, gives me attitude and refuses to eat what is placed in front of him. But, interestingly enough I was recently given some very good advice at a mall play area by a mother of 6 year old twin boys. She told me to ignore the tantrum behavior by walking away from him. Don't yell, reason or compromise, just totally ignore it and never give in to it. Prior to taking the advice,I was really wearing myself out wrestling with my son to take baths to get into his own bed at night and he would throw a fit every time. I started ignoring him and not wrestling with him over things and it worked. She told me that, at the time of a tantrum the child wants attention even if it's negative attention. So, if he or she sees that you're doing the complete opposite which is showing no attention at all to the tantrum they will eventually stop it because they're not getting what they're wanting. It really works with my son, plus it cut my stress level down tremendously, no more tension headaches. Now, when he starts a tantrum I go in the next room and shortly after he comes looking for me to give me a hug while wiping his tears away. Then he willingly does what I've asked him to do.
It's tough being a member of the terrible two club, but it too sha'll pass. :0) Good Luck