Buenas, he reconstruido tu caso y funciona el LIKE funciona correctamente, está es la prueba que he hecho.
Las pruebas las he realizado en Oracle 10.2.0.4 y 11.2.0.1, con los parámetros NLS_SORT=BINARY y NLS_COMP=BINARY.
Creo la tabla prueba,
SQL> create table test.prueba(campo1 varchar2(30));
Table created.
Inserto 4 filas que el texto contiene icf de varias formas,
SQL> insert into test.prueba campo1 values ('prueba uno icf- error');
1 row created.
SQL> insert into test.prueba campo1 values ('prueba dos icf - error');
1 row created.
SQL> insert into test.prueba campo1 values ('prueba tres (icf) - error');
1 row created.
SQL> insert into test.prueba campo1 values ('prueba cuatro problema - (icf)');
1 row created.
SQL> commit;
Y los siguientes select devuelven las columnas que contiene (icf),
SQL> select * from test.prueba where campo1 like '%icf%';
CAMPO1
------------------------------
prueba uno icf- error
prueba dos icf - error
prueba tres (icf) - error
prueba cuatro problema - (icf)
select * from test.prueba where campo1 like '%(icf)%';
CAMPO1
------------------------------
prueba tres (icf) - error
prueba cuatro problema - (icf)
Si hay algo en la prueba que no se ajusta a tu problema coméntalo.
Verifica como tienes los parámetros NLS_SORT y NLS_COMP ya que pueden afectar al comportamiento del LIKE.
Saludos.