Это действительно должно быть сохранено в файле .mod. Все типы данных и прототипы функций хранятся там, поэтому вам нужно включить его, когда вы отправляете кому-то файл .lib.
По сути, файл .mod выполняет ту же задачу, что и файл .h в c, поэтому, конечно, вы будете иметь чтобы включить его в вашу библиотеку.
[update:] Если вы пытаетесь использовать это в C, то, как вы сказали, нет средств для упрощения сохранения именованной константы. В качестве альтернативы вы можете использовать защищенный атрибут для объекта. По крайней мере, с Fortran, все, что находится вне модуля, ограничено записью в переменную. Я не знаю, будет ли компилятор C и компоновщик уважать это поведение, но я думаю, что это, вероятно, ваш лучший снимок.
module testMOD
INTEGER, PROTECTED, BIND(C) :: globalvar = 1
end module testMOD
К сожалению, я не очень много разбираюсь в интероперабельности с C, поэтому я не могу гарантировать, что C будет уважать защищенный атрибут и не позволять изменять переменную.