The point is that Modpoll writes the COMPLETE 16-bit register to the slave. So does the OpenHAB binding.
It is not possible to write, say, bit 3 - and then later on write bit 4 while expecting bit 3 to remain the same. How could the slave know that you did not mean to turn bit 3 off?
If you can find a way that the device supports writing to relays as ‘modbus coils’ that would be easiest.
If you are stuck with bits-in-a-register, it is possible to write rules that keep a ‘shadow image’ of the register in OpenHAB, which allows other rules to change individual bits within it. When the shadow image changes, the binding writes the whole register to the slave.
Haven’t we been around this before?