так?
SELECT nvl(decode(ct.dog_date, date '2013-01-01', cl.iin, null), cl.rnn) rnn,
TO_DATE(CT.DOG_DATE, 'dd.mm.rrrr') DOG_DATE,
UPPER(TRIM(CL.CLIENT_NAME)) CLI_NAME,
count(*)
FROM CONTRACTS CT, CLIENT CL
WHERE CT.CLIENT = CL.CLIENT
AND CL.CLIENT_CATEGORY = 1
and rownum < 500
group by nvl(decode(ct.dog_date, date '2013-01-01', cl.iin, null), cl.rnn),
TO_DATE(CT.DOG_DATE, 'dd.mm.rrrr'),
UPPER(TRIM(CL.CLIENT_NAME));