Das kann man schon vereinfachen, indem man die berechneten Felder in eine sog. Derived Table packt:
select x."T_Messungen_ID",
x.id1,
x.id2,
x.px1,
x.py1,
x.px2,
x.py2,
py2 - - py1 / px2 - px1 as m_steigung,
... und so weiter ...
from (
select t1."T_Messungen_ID",
t1."T_Messungen_Daten_ID" as id1,
LEAD(t1."T_Messungen_Daten_ID",1) OVER w as id2,
t1."T_Messungen_Daten_x" as px1,
t1."T_Messungen_Daten_y" as py1,
LEAD(t1."T_Messungen_Daten_x",1) OVER w as px2,
LEAD(t1."T_Messungen_Daten_y",1) OVER w as py2,
from "T_Messungen_Daten" as t1
where t1."T_Messungen_Daten_Art" = 5
and t1."T_Messungen_ID" = 125
order by t1."T_Messungen_Daten_x";
window w as (order by ORDER BY t1."T_Messungen_Daten_x")
) x