В кои-то веки я соглашусь с Кеметом (* уж ни заболел ли я?*)
Константные процедуры смысла не имеют. Да, наверное можно реализовать, но зачем? Что мешает процедуру вызывать по имени? Внутри модуля процедура и так доступна, а из другого модуля -- процедурная переменная объявленная на чтение -- таже самая константа.
Усложнить компилятор можно, но не нужно. И да, адрес внешней переменной в О7 известен на этапе компиляции, в ББ -- на этапе загрузки внешней по отношению к модулю средой. Так что тут адрес ничего не решает.