Vivek,
Puede usar SQL dinámico para construir su declaración INSERT dentro de una función o procedimiento PL/SQL. De esa manera, podría utilizar la variable "grado" que ya ha recuperado.
Algo como:
DECLARE
degree varchar2(1);
BEGIN
select value-2
INTO degree
from v$parameter
where name='cpu_count';
EXECUTE IMMEDIATE('INSERT /*+ APPEND PARALLEL (tst, '||degree||') */ '||
' INTO test_table tst ( '||
' ************** '||
' ************** '||
' ************** '||
' ) '||
'SELECT /*+ PARALLEL (a, '||degree||') */ '||
' DISTINCT '||
' ************** '||
' ************** '||
' ************** '||
' FROM src_table a');
END;