На RoadID накладываются какие-то ограничения, так что их скорее всего придется нумеровать подряд
(то что делает, кстати, gpsmapedit)
osm2navit четырехпроходный,
после первого прохода надо резать ways на куски по всем нодам у которых число линков больше двух.
Также надо рекурсивно объединять куски по нодам у которых число линков равно двум (знаменитая проблема
нарезки линий в .rus и .ntm) и имя,тип,односторонность,etc. совпадают.
Вот для этой последней задачи я “готового” решения не знаю.