Процедурная константа имеет дело с одной фиксированной сущностью( процедурой ), адрес которой, в общем случае, не имеет значения, как и метод обращения к ней. Любая процедур себе постоянна ( опустим самомодифицирующиеся программы ). И не важно, есть раздельная компиляция или нет, при запуске процедура определяется и остается статичной до выгрузки программы.
Процедурная переменная - динамическая сущность, которая, на протяжении жизненного цикла программы, позволяет обращаться к различным процедурам соответствующей сигнатуры. Процедурная переменная обеспечивает лишь статическую точку входа.

Если хочется контанту процедурного типа, навроде const procedure MyProc = Proc;, то, сначала, нужно ответить на вопрос - зачем.
Если предполагается использовать внешними модулями, то процедурную переменную ставят доступ только для чтения и инициализируют при загрузке модуля. Если для внутреннего использования, то таки опять вопрос - зачем.