O Oracle não compilará sua definição porque o tipo
Item
ainda não foi compilado. Por que você não tenta isso:Compile isso:
CREATE OR REPLACE TYPE Item;
CREATE OR REPLACE TYPE items_table IS TABLE OF REF item;
e depois tente:
CREATE OR REPLACE TYPE item AS OBJECT (
id number,
subitems items_table
)