Grundsätzlich läßt sich an der Laufzeit des Jobs wenig drehen, da nun mal die Zeiten auf viele Jobs verteilt werden. Kürzere Zeitscheiben sind eher von Nachteil, da ggf. unnötige Jobunterbrechungen eingeleitet werden. Längere Zeitscheibe wird ggf. nicht ausgeschöpft, da durch IO die Zeitscheibe vorzeitig verlassen wird.

Hier hilft tatsächlich nur eine Anpassung der Programmlogik.
Schau dir mal zur Laufzeit mit Auswahl 14 (DSPJOB) die Anzahl Schreib/Leseoperationen an.
Häufig werden unnötig viele Datensätze gelesen und an Hand eines Flags dann eben nicht verarbeitet. Eine LF mit diesem Flag als Schlüssel könnte da schon gewaltig helfen.
"Alt"-Programme arbeite ggf. noch mit IP (Input Primary) und vielleicht mit OPNQRYF was auch nicht der Verarbeitungsgeschwindigkeit dient.

Ohne jedwede Anpassung hilft hier nur neue Hardware und ggf. V6R1.

(ILE)RPG-Anwendungen lassen sich nicht auf Threadverarbeitung umstellen insbesonders wenn man Threads nicht tatsächlich auf verschiedene CPU's bringen kann. Ausserdem sind dann zusätzliche Synchronisierungen (Shared Memory) erforderlich.