Questa query fa quello che chiedi:
Select TO_CHAR(TO_DATE(DATAA,'DD/MM/YYYY'),'DD/MM/YYYY'), LAG(NVL(VALORE,0), 1, 0) OVER (ORDER BY TO_DATE(DATAA,'DD/MM/YYYY') ASC ) VALORE_PRECEDENTE, VALORE,
NVL(VALORE, LAG(NVL(VALORE,0), 1, 0) OVER (ORDER BY TO_DATE(DATAA,'DD/MM/YYYY') ASC ) ) AS RISULTATO
from (
SELECT '1/3/2011' AS DATAA, 1234 AS VALORE FROM DUAL UNION ALL
SELECT '4/5/2011', 1344 FROM DUAL UNION ALL
SELECT '11/5/2011', NULL FROM DUAL UNION ALL
SELECT '13/7/2011', 2569 FROM DUAL UNION ALL
SELECT '23/9/2011', 3865 FROM DUAL UNION ALL
SELECT '24/9/2011', NULL FROM DUAL UNION ALL
SELECT '3/10/2011', NULL FROM DUAL UNION ALL
SELECT '16/11/2011', 4568 FROM DUAL
) Order by TO_DATE(DATAA,'DD/MM/YYYY') ASC