Ну, переход к определению хорошая плюшка, да. Но, учитывая, что в обероне область видимости четко определена и локализована, и требуется обязательная квалификация модуля, то пройтись по иерархии не сложно даже в текущем состоянии. . Понятно, что если мы не используем квалификатор, то сущность принадлежит или локальному скопу, в котором находимся ( процедура и она подсвечивается в структуре модуля ) или типу, которому принадлежит процедура ( и он подсвечивается ) или модулю, то есть найти не сложно. Если есть квалификатор, опять же, иерархия скопов прозрачна и найти ее в структуре не проблема. Не удобно, да, но можно достаточно быстро.
В любом случае, перейти к определению можно будет только в пределах модуля, потому что найти внешний модуль по его имени в общем случае не возможно, потому что имена программного модуля и объектного модуля могут не совпадать. например имя файла у наc Windows.Test.Mod, Linux.Test.Mod, а внутри он описан как module Test; или module Test1  или...
Частично эту проблему решил бы файл проекта, в котором это всё описано. Или описать package в файле типа Release.Tool и, используя Release.Mod строить проект на лету для выбранного билда.