I think that this can be a useful feature in many occasions, especially since the overhead is almost inexistent.
The implementation is sensible and there are regression tests to cover the new feature. There's a problem however if you try to add multiple #routine_label commands in the same function. At minimum the Assert on "nse->itemno == (int) PLPGSQL_LABEL_BLOCK" will fail. I don't think that it makes sense to have multiple occurences of this command, and we should simply error out if plpgsql_curr_compile->root_ns->itemno is PLPGSQL_LABEL_REPLACED. If any case this should also be covered in the regression tests.