You need to check the logic of your code - I'm not sure I really want to know what you're trying to do
This works:
Code:
Declare
  TABLE_NAME_VAR  VARCHAR2(20) := 'EMP';
  COLUMN_NAME_VAR  VARCHAR2(20) := 'ENAME';
  AGGREGATION_TYPE_VAR  VARCHAR2(20) := 'COUNT';
  AGGR_COLUMN_VAR  VARCHAR2(20) := 'DEPTNO';

  CURRENT_EXET_NUMBER NUMBER;
  SQL_STMT VARCHAR2(500);

BEGIN
CURRENT_EXET_NUMBER:=0;

BEGIN
SQL_STMT:='SELECT '||AGGREGATION_TYPE_VAR||'('||COLUMN_NAME_VAR||'),'||AGGR_COLUMN_VAR||' FROM '||TABLE_NAME_VAR||
' WHERE '||AGGR_COLUMN_VAR||'=10 GROUP BY '||AGGR_COLUMN_VAR;
EXECUTE IMMEDIATE SQL_STMT INTO CURRENT_EXET_NUMBER;

END;
dbms_output.put_line(to_char(CURRENT_EXET_NUMBER));
END;
/