K.M.
I suspect you will get a lot of responses telling you how normal your son's behavior is. I also have a stubborn 2 year old myself. Honestly, I do a lot of the same stuff you do. I get down on her level and try to look her in the eyes. She's pretty clever and will turn her head or close her eyes! But, I continue to speak in a calm firm voice and I know she hears me. I am very big on talking to her about what to expect/how to behave in certain situations. Even though you wonder if he can understand, he probably does. If your son is not really verbal, a lot of his frustration could be coming from that. You may find his behavior calms down when he can express himself better. In the meantime, continue to tell him what's acceptable. If he pushes, tell him, "Pushing is not nice. We should say excuse me." If he hits you, tell him, "I don't like to be hit. I like hugs or kisses better." If hitting is a real problem, you might need a little more help. There is a book called "Hands are not for hitting" that you can read with him. It tells you all the things you can do with your hands instead of hitting, like high fives or clapping. Make sure you reinforce his positive behavior as much as you can. If you tell him a consequence, always follow it through and don't make empty threats. "We don't throw toys. We can throw balls. If you throw that toy again, I will take it away." If he throws it, you take it away. I personally aim for natural or logical consequences as much as I can because I think the connection is easier for them to undertand. For instance, if she is mistreating the dog, I lock the dog away in the kitchen. If she can't treat the dog properly, she can't be around her. I wouldn't make the consequence that we won't go to the park later. She wouldn't make the connection. They really struggle for some independence and control at this age, so it might also help if you offer him choices when possible. Do you want to wear your Mickey Mouse shirt or your Diego shirt? Do you want to eat strawberries or grapes for your snack? Do you want to put your shoes on, or do you want Mommy to do it? (You can be creative. My daughter just likes getting to choose.) I also incorporate some playful parenting...She will take off when we get out of the car at home if I'm not careful, so I will tell her, "Let's see who can run to the front door first!" If she's dragging her feet about going upstairs to take her nap, I'll pretend to chase her up the stairs.
As far as sitting through dinner at a restaurant, I think it's unreasonable to expect a 2 year old to sit through a whole meal. My daughter often is done eating before my husband and I are at home and it doesn't take as long to eat dinner at home as it does when we're out. My 2 year old can be hit or miss with a restaurant, but the times she behaves best are if we go around 5-5:30 when there are no crowds. She's normally not as tired or cranky as she'd be if we were trying to eat at 6:30-7. And she's not ravenous. We try to get bread or an appetizer or I'll bring a snack for her while we're waiting. Some places are more family friendly and provide crayons for kids to color on the placemats. That keeps my daughter occupied too. (She won't play with any toys I bring.) If she gets too antsy or starts crying, one of us takes her outside until our food arrives. We ask for our check when the food arrives too. It's not exactly relaxing, but I know it will not be like this forever. My husband and I do a lot of take out or we have someone babysit if we want to eat out. Sometimes we take her out to breakfast instead. She's often in a better mood when we attempt restaurants at the start of our day.
I don't do any bribery. Except when it come to the grocery store! If she sits in the cart, we go to the bakery and get a cookie. I try to hold off on the cookie to get as much shopping done as possible. Once I get her one, I break off small pieces for her to eat. (The reason is if she drops the whole cookie on the floor, I don't have to deal with the ensuing tantrum as we're trying to check out.)
Good luck! I know this isn't an easy age, but being consistent and having consistent boundaries will help you get through it. You might try a place like MeetUp.com where you can look up mom's groups and get some contacts and build a local support system. I would try to find a reliable babysitter if you don't have one already. Being on your own, you will want a break once in a while.