Отвечать буду не на все пункты. 1) Приблуду надо написать, сделать чтобы она везде работала и таскать с кодом, иначе не взлетит.
У меня есть ЖИВАЯ система, конфиг которой собирается в отдельный bin-файл микрософтовским ассемблером под ДОС.
На моем рабочем ноутбуке UBUNTU 20.4
До Линукса были виндовсы и, пару лет, OS/2 Warp.
Во всех этих операционках я без проблем запускал этот "конфигуратор".
Самописные же запускаются еще проще.
Никто не запрещает написать эту приблуду на том же С++ и даже сделать частью системы, чтобы иметь возможность подгружать обновленные конфиги на лету.
2) Ключевое - проверка ИСХОДНЫХ ДАННЫХ, в терминологии их предметной области.
Телефоный номер жильца должен иметь валидный код города (он же код мобильной сети оператора), а номер квартиры - существовать в здании и не относиться к офисным или техническим помещениям.
Есть несколько проектов, в которых отдали заказчику это компилятор. Он готовит исходные данные в Ms Excel, сам скармливает их компилятору, исправляет ошибки и загружает отлаженный конфиг-файл.
Втаскивать такие проверки внутрь С++... без меня.