That's really no excuse. Don't go on 2-3 hours of sleep a night if that means you can't treat people around you with respect. Or, at least, don't venture out among people who don't understand and appreciate the situation you're in.
First, you always have a choice. It just that the alternatives aren't always so attractive.
Second, OK, so excuse may be the wrong word - but I disagree that it doesn't say something (negative) about a person who puts him self in a situation where he will be yelling at waitresses.
"...makes 1 mistake of being rude to the waiter..."
This is where you are losing everyone. A mistake is forgetting your keys or making a math error on a spreadsheet. Treating someone with no respect, hitting someone, etc. Are not "mistakes".