Do i need additional IOs for this interface board?
Can I send the data from the buttons on the UI board (like if it was
being used as a state machine) as a message on CAN bus?

Yes, you can.

Or would using a simple GPIO make more sense for this?

I might make more sense if the CAN bus transmission rate was limited to some particularly slow speed and potentially gave the impression to the user (as in UI) that the interface was a little bit sluggish. If not, go for CAN bus for everything (or, generally, whatever serial data link is being used).
If you have spare IO on the UI and you can easily route it to your MSC, then why not route it (just in case you do need future expandability).