Não, o Oracle não suporta %TYPE para atributos de objeto - porque %TYPE é uma sintaxe PL/SQL, não SQL. Por que não declarar i_salary como NUMBER sem precisão e escala?