<p>Is it possible to free memory allocated by C's alloca() explicitly, before the current function exits?  If so,how?</p>

No, because it's allocated on the stack along with the local variables.  If you want memory that you can explicitly free, use one of the dynamic memory allocation functions.
There's no hybrid that allows you to explicitly free
AND
have it automatically free on function exit as well, at least not in the standard.