Non puoi farlo con %ROWTYPE. %ROWTYPE è in realtà un tipo di record PL/SQL, che non è un tipo legale in SQL, quindi non puoi usarlo in un SELECT. Dovresti creare un tipo di oggetto che abbia le stesse colonne della tabella, passare alla funzione per aspettarti quel tipo di oggetto invece di %ROWTYPE, e quindi puoi scrivere qualcosa del genere:
SELECT function(table1_typ(column1, column2, column3))
FROM table1 t1
Svantaggi:devi ancora digitare tutte le colonne in SELECT e, se cambi la tabella, dovrai cambiare anche il tipo di oggetto e SELECT.