I believe ~20ms, it is always a row, not byte
EEProm datasheet AC specs show : Row erase/write cycle time is typ. 10ms, max 20ms.
Because a row is the smallest amount to program, the time to change a byte is roughly the same as for the row.
Thanks for all your help. What I found key was to organize EEPROM data into 16 byte pages and transfer data on the modbus 16 bytes at a time. Then EEPROM_StartWrite function call can be used, which allows processing to continue.