Звучит так, будто вы просто хотите передать коллекцию, т.е.
SQL> create type point as object (
2 x_coordinate number,
3 y_coordinate number );
4 /
Type created.
SQL> create type point_array
2 is
3 table of point;
4 /
Type created.
SQL> create procedure interpolate( points IN point_array )
2 as
3 begin
4 null;
5 end;
6 /
Procedure created.
SQL> declare
2 points point_array := point_array( point(0,1), point(1,1) );
3 begin
4 interpolate( points );
5 end;
6 /
PL/SQL procedure successfully completed.
Очевидно, что в действительности функция будет делать что-то с переданным массивом, но это общая идея.