You can return a result set from a stored procedure. It is not specified in the out paramters, but is defined a cursor with return. You can have multiple cursors with return if needed.
Arrays are not available in 8.2, but I think it may be available in 9.5 (just released), or if not in 9.5 it is slated for the next release.