Você precisa usar o mesmo tipo de array que sua função está esperando
declare
result CLOB;
myarray selected_pkg.num_array := selected_pkg.num_array();
begin
myarray.extend(3);
myarray(1) := 1;
myarray(2) := 5;
myarray(3) := 9;
EXECUTE IMMEDIATE 'truncate table demoresult';
result:=SELECTED_PKG.get_selected_kml(103, 19, myarray, 4.11, 56.27, 4.59, 56.39);
insert into demoresult values(result);
COMMIT;
end;