No, he's 2 not 12. He needs boundaries while you can still pick him up and remove him from the situation. He needs you to say no when you really actually mean no. If it is something that really does not matter in the whole big picture then why do you feel you have to say no?
Of course chips is not what you want your little one to have for breakfast but it's only a "time" of day. If he can have chips with lunch then why can't he have a few chips with his breakfast? I had left over breakfast bacon pizza for breakfast, my little guy had a slice of cheese pizza. My granddaughter had a bowl of Cocoa Krispies with milk. Who had the better breakfast? I think I did, I got veggies (tomato sauce), dairy (cheese), carbohydrates (bread/crust), and protein (bacon).
This child needs to be taught, he doesn't need to learn something abstract, he needs to be taught by you what is expected and allowed. This can often be the most frustrating and hard task a parent has to do and learn how to do effectively.
He is not going to be able to understand/comprehend a detailed chart. Kids his age have no concept of time. They don't know 5 minutes from 5 hours from 5 days.
I suggest you do rewards that are quickly given. Kids want to be appreciated and they will respond better to rewards instead of punishment. Kids who potty in the right place can be given a tiny M&M or a jelly bean. Our kids got 1 for pee and 2 for pooh. They would sit for a long time just to get that small token of a reward. They didn't get one every time, I often forgot all about it. They did just fine and trained normally.
As for temper tantrums when you're at home just ignore them. If he's at risk for injury pick him up and move him out of the area into his room, which should be the safest place in the world for him, so he can act out, throw stuff, do his worst. When he is done you can ask him to tell you what was going on, or what ever dialogue you use with him when talking about feelings and behaviors.
In the future you can start off by saying what is expected before you go inside somewhere.
For instance, before we get out of the car to go in to Walmart I go over the rules with the kids. They have to get in the cart if they go out of sight for any reason. She is 9 and he is 6. I don't care if they feel embarrassed or throw a huge temper tantrum. I continue shopping and ignore the heck out of them. They knew going in that going out of sight would get them in the cart. If I have a lot of shopping to do I might have someone lined up to come get one or both of them in case things go badly. That way I can say, before going inside the store at all, that if they don't follow the rules XXXX was going to come get them and babysit them while I finish shopping. I do not pick a person they like or have fun with. I pick the friend that will make them sit in one room and do something like help them finish up a service project, brush the cat, do something that is "work" or not fun. They don't want them to come get them so all I have to do is mention that XXXX is ready for them if that is where they'd like to go.
They conform now almost 99% of the time. It's been over 3 years since she had a temper tantrum in Walmart and he's gone nearly 6 months or more.
Telling a child "we're going to XXX's house for a party and you are expected to keep your hands to yourself and not touch their special things" is still a bit abstract for a 2 year old. They need rules they can understand in terms they comprehend that XXX will happen if the rule is broken. It should be simple to understand and easy to connect the dots to breaking a rule and consequences". That's more of a bribe. Rewarding someone for making the right choice is a much better thing to do.
"Hey John, I noticed you looking at Mr. XXX's pretty statues and you kept your hands off. Great job following the rules. Would you like a piece of dessert?". That's a reward that they will subconsciously with being good/making good choices and they'll be more likely to repeat that action.