I am always a little sceptical about using I²C between microcontrollers,
and a lot more sceptical about using it between boards. It can be good
enough in simple cases, but all too often I have seen systems that
started out simple, and ended up trying to do far too much with I²C.
It is a protocol that works well with a microcontroller as the master
communicating with slow slave devices (simple ADC/DACs, small EEPROMs,
etc.) on the same board. It works poorly when you need more data
transfer or higher speeds, and can be quite inefficient on many
microcontrollers when they are acting as slaves.
It is also less than ideal for off-board traffic. For short range, with
closely coupled ground and little electrical noise, it can work fine -
but it does not work well over longer distances, and multi-master (or
even multi-slave, with microcontroller slaves) can be very awkward. I
have seen systems where I²C has been used for bigger inter-card buses,
and the effort required to make it stable, noise-free and reliable meant
it was more costly and complex than alternatives such as CAN or RS-485
would have been.
So my advice here is to think about where you are going in the future.
I²C might be the most convenient protocol between two cards on your
desk. But will it be the best choice for the final product - or its
future versions? Obviously only you can answer that, but if it is not,
then it is better to think about it now than later.