It sounds like there's a small but plausible chance that your boss could try to discipline you for not wearing an appropriately sized shirt (which would be, of course, ridiculous). And the only way you'll plausibly get a larger shirt is by going over your boss and asking someone higher up the chain for an appropriate shirt. In both cases, there's one thing you absolutely need: Proof that you've been asking for a better shirt and that those requests have been denied.
I suggest you send your boss a polite, level-headed email explaining that your shirt is too small and that, in order to wear it tucked in and buttoned up, you need a larger shirt. From what you've described, your boss will likely tell you no. But you'll get something very valuable out of it: You'll have email proof that you've asked for a larger shirt!
In addition, keep a notebook and write down the date, time, and what was said every time you ask for a larger shirt and are told no. Also record the times your boss berates you in front of a customer for not wearing your shirt appropriately and why you weren't able to make changes in those situations because of your shirt size. I would also suggest writing down, to the best of your memory, incidents that have happened in the past.
By doing all of this, you'll have established a strong paper trail. If your boss does try to discipline you, you can now confidently reach out to HR to fight back against the discipline. The saying is that HR is not your friend, but if you can unambiguously demonstrate that you're being punished for something that is really your boss's fault, then that will give you a strong hand with HR.
In addition, once you have a long-enough paper trail, you can probably reach out to your boss's boss or to the corporate department that gives items like shirts to franchises. Whoever you talk to will probably not want to help you initially because ideally, it's an issue you'd have taken up with your boss. This is where your paper trail comes in handy: You can show it to them to prove that you have attempted to work with your boss, but your boss has knowingly denied your requests multiple times even while telling you to fix the problem without giving you a way to do so. This will show to the people you reach out to that you've tried to work it out with your boss and are only contacting them as a last resort.
(If you do decide to go above your boss's head, make sure it's really worth doing so! From what you've said, though, there's a good chance this is such a situation. Not because your shirt is too small to be comfortable, but because your boss is making a big deal out of it without giving you what you need to take care of the problem.)