У меня программа состоит из ОДНОГО главного цикла, в котором находится длинный список подпрограмм:
Код
FOR i:=0 to Max do begin
  Procedure1();
  Procedure2();
......
……
  ProcedureN();
END;
И даже работа с файлами производится из процедур. Таким образом, абсолютно ВСЕ переменные, определенные (и заданные) в начале кода, оказываются внешними по отношению к процедурам  
 Вот и получается что варианта 2:
1.	Позволить процедурам работать с внешними переменными: Все прозрачно + НЕ требуется выделение дополнительной оперативной памяти. Но возникает вопрос о корректности с точки зрения языка Pascal в целом.
2.	Собрать мегазборку переменных Type=Record и передавать ее в процедуры. В этом случае с точки зрения Pascal все вроде как «тип-топ», но потребуется выделение дополнительной памяти, и возможно снизится общая скорость работы программы. 
Оба варианта работают одинаково, в том смысле что вычислительный результат совпадает.
Во время процесса оптимизации стратегии, программа запускается несколько сот/тысяч раз в цикле, что требует оптимизации выделения памяти и сокращения общего времени работы программы. Поскольку вся наша жизнь есть сплошной компромисс, то вопрос к Гуру от Pascal такой:
Какой вариант предпочесть???Низкий поклон за помощь.
Илья.