Yes, Modbus Registers (Input and Holding) are 16 bit values. They are technically "typeless" and their interpretation is typically up to the server (in this case, the BRX PLC). So for a 32 bit accumulator, you will need to utilize 2 contiguous Modbus registers as the slave, and the client will need to "read multiple" registers and interpret them as a 32 bit signed integer (since that's what a BRX counter .Acc value is). You could have just an unsigned 16 bit word that maps well to a Modbus Register. You could pack 16 bits into a single 16 bit register, or a 32 bit REAL into two contiguous registers, et. al.
MHR0 and MIR0 are off limits via the Modbus protocol, so do not utilize them. MIR1 corresponds to the first Modbus Input Register 30001 and MHR1 corresponds to the first Modbus Holding Register 40001. The MIR/MHR IDs are basically decimal offsets into the 3xxxx/4xxxx Modbus Address space. Modbus Application Layer addresses are 1-based, but Do-more data blocks are 0-based.
PUBLISH and SUBSCRIB are best and allow you to do any conversions to what would help any Modbus Client interpret the value properly, along with "unaligned" memory reads/writes (don't worry about what this CISC microprocessor terminology means, it "just works" with PUBLISH and SUBSCRIB). Read over those instructions' help topics.