Das Probelm ist der SQL-Precompiler, der nun mal alle Variablen einer Quelle als potentielle SQL-Variablen übernimmt.
Ich kann nun mal (leider) auch Variablen verwenden, die erst später definiert werden.
Zu 1: Durch Erhöhung der Abbruchbewertung kann ich sicherlich die Programmerstellung erzwingen, solange bei den SQL-Befehlen ausschließlich eindeutige Variablen verwendet werden.
Zu 2: Qualifikationsmerkmale sind nun mal auch Umbenennungen (z.B. Prefix) !

Lösung:
Die Prozeduren in eigene Quellen aufteilen, einzeln als Modul erstellen und später dann per CRTPGM das tatsächliche Programm erstellen.
Und/oder gemeinsame Prozeduren in Service-Programme verlegen.