Por que você acredita que não é uma boa ideia subtrair duas datas para obter o número de dias entre elas? Essa é certamente a maneira padrão de fazer esse tipo de aritmética de data no Oracle.
DateDiff
não é uma função que existe no Oracle. Eu sei que existe no SQL Server. Você poderia, é claro, escrever sua própria função e chamá-la CREATE OR REPLACE FUNCTION dateDiff( p_dt1 IN DATE,
p_dt2 IN DATE )
RETURN NUMBER
IS
BEGIN
RETURN p_dt1 - p_dt2;
END;
Não é óbvio, porém, qual o benefício que você obtém ao fazer isso em vez de simplesmente continuar a subtrair as duas datas.