My concern is that longer message might put some unnecessary load on the bus. 2-4 extra bytes might be ok, but if I go too far with some table loading It can get really long. What is the refresh rate of m4 now? Something like each 2 seconds or shorter.

You can think about it like future expansion. Something like if there is need for some bytes beyond the 12 bytes message, expand the message till the needed bytes and fill the gap with zeroes if there is one.

I will try to expand the message with 6 bytes at the first place. 1-2 switch bytes and 4-5 value bytes.