Infelizmente, não há como conseguir isso. Um subprograma aninhado declarado em um bloco anônimo nem é persistido após o bloco anônimo ser processado, então mesmo quando ignoramos os limites de escopo, ele não existe quando o outro bloco anônimo é processado.
Se você não puder torná-la uma função armazenada porque o DBA maligno não permite isso, você terá que copiar e colar a função.