Una de las razones es simple de responder:
  Cita:  la Tabla tiene varios indices, uno soble LKT_ABFAHRT_VON
    Eso implica que tienes un campo DATE y un índice sobre este campo, el cual si no me equivoco alamcena fechas largas (Dias y horas).
Pero estás usando un TRUNC():   
Código SQL:
Ver original- AND TRUNC (t.LKT_ABFAHRT_VON) BETWEEN '24.01.2014' AND '24.02.2014' 
Eso, te comento, hace que oracle 
descarte el índice, y realice un 
full table scan.
Lo que te conviene en ese caso es hacer que las fechas del BETWEEN se tomen como DATETIME:   
Código SQL:
Ver original- SELECT * 
-     FROM DISPO2.TB_LKW_TOUR t, 
-          DISPO2.VI_AUFTRAG_AUF_LKW a 
-    WHERE     T.LKT_ID = A.LKT_ID 
-          AND T.MND_NR = 1  
-          AND T.NDL_NR = 117  
-          AND t.LKT_ABFAHRT_VON BETWEEN TO_DATE('24/01/2014 00:00:00', 'dd/mm/yyyy hh24:mi:ss')  AND TO_DATE('24/01/2014 23:59:59', 'dd/mm/yyyy hh24:mi:ss') 
Por engorroso que parezca, eso es más eficiente. 
Ten en cuenta que 
siempre que aplicas una función sobre un campo que está indexado, el índice 
se descarta, porque Oracle no puede, a priori, saber si la función no suprime las características de las claves.