I pretty much echo what Nancy said. But ...
... actually, the issue here is so not the triangulated relationship between you, dh, and your stepson. That, if all things were well, would just be a pebble in the road, and, ultimately, forgotten.
The issue is that you and your dh effectively had a bust up, using your stepson as a proxy. That's not nice.
You need to sort out whatever is going on between you and your dh reasonably.
And, no, it's not OK that your dh put you down in front of your friends.
And, I have to ask this (because I don't know): did your dh kick off because he sensed you were using the child to get at him?
If there's the merest hint of that, then that's not nice. But, if that wasn't the case, then he was using your relationship with the child to get at you. And that is not nice.
All told, I'll bet your stepson was not a happy little boy by the end of that meal.
Fwiw, reaching across to get food is what children do. Manners/etiquette is a learned, cultural thing, and we just teach children that, again and again, until they learn it. We don't expect them to just know. The whole point of it is precisely that it's not hard-wired in. So it's not a big deal to suggest asking, rather than taking. The fact it all kicked off suggests that you and your dh need to calm down a bit, and look at how you're all relating to each other.