Thanks! It's exactly what I was looking for.
I've made, in the meantime some other tries, and
maybe I found out why my mod seemed to work only partially (or seldom) in my game: it seems related to the type of food, or - better said - to the type of preparation. Essentially, my mod seems to work as intended only with foods which not require cook (i.e. the stove): i.e. cereals, lunch meat sandwitches, chef salad.
Food processor use seems also not determinant in the result.
In short: if the sim serves meat sandwitches, he will serve only on tables in the same room (if all serving slots on those tables are clogged with dishes, he will only drop the serving plate on the counter and will take a single plate for himself). If the sim will serve any other food which requires stove or grill, instead, will serve in all rooms and tables available as usual.
What I've done is, so far, is modifying the BHAV Serve - Serve Tables (Group 0x7F8834C8 Instance 0x0000201E) here:
0011 : 2027 : 1900000A00000A000A0000010000 : 01 : 0012 : 000A
[semi 0x2027] Test - Food Test (Local 0x0000)
0012 : 000E : 0A00000A00000000000000000000 : 00 : 0013 : 000A
[prim 0x000E] Find Best Object for Function (serving surface)
0013 : 0014 : 0A00000000000000000000000000 : 00 : 0014 : 001C
[prim 0x0014] Run Functional Tree (serving surface)
in this way:
0011 : 2027 : 1900000A00000A000A0000010000 : 01 : 0012 : 000A
[semi 0x2027] Test - Food Test (Local 0x0000)
0012 : 000E : 0A00040A00000000000000000000 : 00 : 0013 : 000A
[prim 0x000E] Find Best Object for Function (serving surface)
0013 : 0014 : 0A00000000000000000000000000 : 00 : 0014 : 001C
[prim 0x0014] Run Functional Tree (serving surface)
The operand in bold should means "only in room = true" and it seems so.
Hope this may be useful for someone; now I'm tweaking those operands some more trying to individuate other behavior diffs.
That mod attached below (the old one in previous post is deleted).