50 устройств, по 2 регистра, это примерно 12 байт на запрос - 12х50=600 байт. При скорости 9600 и 1,2 км по стандарту RS485 на данную скорость это должно занять менее 1 секунды.

Тут больше вопрос в другом, предположим у вас timeout 1000 мс, как мастер его обрабатывает ? дожидается после получения ответа известной длины конца таймаута или переходит к очередному опросу ? если дожидается, тогда ОЙ, нет ничего удивительного, что вы ожидаете воздух...... и как следствие такие задержки

Так что копайте программную часть...
а 500 метров, это спокойно 38400, а это в несколько раз быстрее, чем 9600.