if your friend finds it offensive then they might want to bring it to the person's attention. I would find it awkward in public but everyone is different. I don't believe I would answer to that in public because I respect myself and find that a bit off for me, but if you find it offensive then maybe you might want to talk to your friend about it and see where she stands? if she has nothing against it, then ignore it, I hear worse things in public.
Depends on the girl and the relationship. If some guy at the bar shouted out such thing to me, he'd got punched very hard. But if my best friend said that I wouldn't mind. I'd knew it's a joke and he doesn't meant to offend me.
Depends on the person. It's hard to generalize and say every girl would find that offensive. I can joke like that with my husband, sure. But if any guy outside just said that to me, he'd likely get a scowl.
If your friend's girlfriend is fine with it, so be it. If she's offended by it, I'm sure she's a big girl and can say so.
It depends on the girl. Maybe she wants her boyfriend to think of her as more than just a girl with a nice ass.
Personally I wouldn't want somebody talking to me like that, and I definitely wouldn't see it as a compliment. There's no need for it. This boyfriend should act like more of a gentleman towards his girl... In my opinion