Вы можете использовать агрегацию:
select compcode, emplcode, attndate, costcode,
max(case when shiftflg = 'I' then readtime end) as INTIME,
max(case when shiftflg = 'O' then readtime end) as OUTTIME
from ecatnrec
where emplcode = 'RF025'
group by compcode, emplcode, attndate, costcode
order by emplcode;
Предполагается, что для уникальных значений клавиш group by
имеется не более одной строки "I" и одной строки "O".