Aus RPG-Sicht gibt es noch ein paar wesentliche Unterschiede zwischen DDS-LF und SQL-Index:

Ein SQL-Index ist immer eine Only-Index-LF, während eine DDS-LF sowohl Only-Index als auch Index und zusätzliche Felder enthalten kann (nebst berechneten).

Eine SQL-View ist zwar auch eine LF kann jedoch keinen Index enthalten (order by-Klausel).
Dies entspricht dann einer DDS-LF, wenn diese das Schlüsselwort DYNSLT und keinen Key enthält.

Während eine SQL-Join-View keinen Index enthält, kann eine DDS-Join-LF wiederum einen Index enthalten (mit oder ohne DYNSLT).

Leider gibt es in SQL erst seit kurzem die Select-Option "fetch only x rows", die nun dem typischen SETLL/READE-Paar bzw. verkürztem CHAIN entspricht.

Nun zu meinem Vorschlag:
Arbeitet man mit SQL so gibt es nur PF's (ohne Key), Views und Index (neben Prozeduren, die auch Daten liefern können u.v.m.).
Arbeitet man mit RPG/LE-nativen Zugriffen (also CHAIN/READ usw.) sollte man DDS-LF's verwenden um zusätzliche Zugriffe zu sparen.