Case поддерживает несколько столбцов в условной проверке
CASE WHEN A=X AND B=Y THEN ... END
В вашем примере вы пытаетесь вернуть таблицу (2 столбца) в набор результатов, который ожидает один столбец: col1, col2, (col3, col4).
Вам необходимо вернуть их отдельно: col1, col2, col3, col4
select
col1,
col2,
case when col3='E01089001' then (select 1 from dual) else (select 3 from dual) end,
case when col3='E01089001' then (select 2 from dual) else (select 4 from dual) end
from Table1 where col1='A0529';