2) By global table do you mean a temporary table? If so not sure that is going to work as I am pretty sure it will disappear after the function is run.
Temporary tables can survive until either session or transaction end - neither of which occurs automatically when exiting a function.