Sí, es posible seguro.
Es difícil explicar por qué recibe un error sin muestras de especificaciones del paquete, pero en general, para pasar un tipo definido por el usuario como parámetro, debe usar definir tipo DDL , o definiendo el tipo en las especificaciones del paquete.
Supongo que quieres la última variante :)
Así que aquí hay un ejemplo:
create or replace package TestPackage_1
as
type TTestType is table of varchar2(1) index by varchar2(1);
end TestPackage_1;
/
create or replace package TestPackage_2
as
procedure Dummy(aParam TestPackage_1.TTestType);
end TestPackage_2;
/
Puedes usar TTestType
escriba cualquier bloque PL/SQL, pero no en SQL.