As long as the stack frame is still active, the local variables are still alive and valid. So you could pass a local function as a parameter, but you could not return it. I think jwz called these "downward funargs".
GCC supports it http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html