Como ya comenté, hace mucho que no utilizo FORTRAN y tampoco he usado ese compilador, así que no te puedo dar pautas muy concretas, sino solamente algunas ideas generales.
Prueba a deshabilitar las opciones de depuración (es decir, indicar que quieres obtener una versión release). La forma de hacerlo depende del entorno de desarrollo, algunos dan directamente la opción de Debug ó Release y en otros hay que hacerlo jugando con las opciones de compilación y enlazado. De este modo, no se añadirá código adicional para comprobar que te mueves dentro de los límites de una matriz, lectura/escritura de zonas de memoria "prohibidas", etc. Esto debería reducir algo el tamaño de tu ejecutable (en ocasiones, la diferencia puede ser significativa).
Si esas matrices que indicas las dimensionas en tiempo de compilación, prueba a ver si reduciendo las dimensiones se reduce el tamaño del ejecutable (es decir, si por ejemplo tienes una matriz A de 100x100, probar a ver qué tamaño de ejecutable te queda cambiando la dimensión a 50x50). No se trata de correr el programa con las nuevas dimensiones, sino solamente de comprobar si varía el tamaño del ejecutable.
Si, haciendo lo anterior, ves que hay una variación notoria en el tamaño del ejecutable final, te tocará utilizar asignación dinámica de memoria. He echado un vistazo a los manuales (pueden verse en Internet, en formato PDF), y puede hacerse.
Otra posibilidad es que tengas muuuuucho código, en ese caso convendría separar el programa en módulos y compilar algunos como DLL (librerías de enlace dinámico), de este modo se cargarían solamente en el caso de ser necesarias. El entorno de desarrollo te dará la opción de generar DLLs (claro está, lo que vayas a compilar como DLL tendrá que ser un proyecto aparte).
Saludos,