OP whatever you decide, you have to be consistent, deal with things in a very similar way when at home or when out and about. As you say, it is all about control and satisfying what she wants. DCs aren't going to behave well in public unless they are used to behaving well at home and in general.
DD probably has tantrums when she's tired or hungry so be prepared to use her buggy or give snacks you've kept in reserve. Little ones don't always handle decision making well, if she's already stroppy don't give her choices, just tell her what's happening.
Around her age I suspect it is very normal to have a funny phase about eating. Sometimes it's purely for attention seeking or as you say, a control issue. That said, could she be about to get some new teeth through? or coming down with a cold?
If I were you, I'd just take a deep breath and try giving her very simple food. Do not show you're wound up if she rejects it. You could try offering her the same food half an hour later. As long as she is eating something and drinking milk she will be fine, she won't starve herself.
If you stay in the room but busy yourself doing something, she might actually relent as she won't get attention from you.
In any event, when she tantrums, get down to her level, make eye contact, talk to her to try to find out whats wrong and persuade her to calm down. Reasoning with a toddler is like herding cats but on some days she may listen. Try and preempt the battles, second guess the triggers.
When she's older you can set boundaries and teach her about consequences, ("If you do this then you will miss out on that").
Toddlers have an uncanny knack for knowing when you're stressed or late or embarrassed. They will push you to the giddy limit. If she kicks off in public, just remove her from the situation, if she is not listening to you and really playing up. Pick her up and carry her out of public gaze if possible, but be prepared to challenge her behaviour in public. For every tut or disapproving look there'll be three thinking good for you, they're all the same at that age, nicely handled!