No.
1) I buy enough for everyone to have some AND a little more. As I've mentioned repeatedly, there could be other people I didn't count on "partaking". I would feel bad telling them "no, this is only for my department".
2) If I can't afford the "more", I don't get any.
If you want to buy food and then stand there and police how many portions people take or who takes a portion, more power to you.
If I order food and somehow end up with an extra sandwich, I'll either offer it to the first person I see or leave it out "first come, first served". I wouldn't stress out over someone taking the entire sandwich instead of just taking a half (sub sandwiches are normally cut in half).
If someone brings in food and it's gone before I can partake, oh well, such is life.
If I bring in food and I want a specific person(s) to have some, I make sure I put some on a plate and hand deliver it.
I don't understand all the stress.
The only thing I think the OP did "wrong" was get so upset about what happened. Then again, I don't think the coworker was "wrong" either.