JSF Controlar Escopo de Bean em Runtime

Galera é o seguinte: tenho um MB que tem um atributo que guarda uma chave(banco) de outra classe. Ex:

public class PessoaMB {
   Long cdCidade; //codigo da cidade

}

Mas quando vou exibir na tela tenho que mostrar o nome da cidade. Pra isso criei uma taglib que utiliza um serviço para recuperar esse nome e disponibiliza no contexto do jsf esse novo bean. EX:

<aux:municipio var="mun" cd="#{pessoaMB.cdCidade}" >
      <h:outputtext value="#{mun.nome}"/>
</aux:municipio>

Ate aqui tudo bem, o problema é o seguinte:
Quando utilizo essa variável no rendered de outro componente, Ex:

<aux:municipio var="mun" cd="#{pessoaMB.cdCidade}" >
      <h:outputtext value="#{mun.nome}"/>
       <h:inputText value="#{pessoaMB.outroAtt}" rendered="#{mun.nome = 'Recife'}"/>
</aux:municipio>

O jsf no momento da inclusão valida se o rendered ta true, o problema ta ai, se eu colocar o escopo dessa variavel pra sessão,
não vou poder mais retira-la. E se eu coloco de request, o jsf não utiliza o input pq ele não consegue avaliar o rendered.

Alguem tem alguma idéia pra esse problema?

Agradeço

Humberto Lima

Por que você já não carrega o objeto dentro do MB ao recuperar o ID?

Você precisa mesmo de uma taglib?

Até onde eu sei, não é possível alterar o escopo de um MB em runtime.

Pra justificar entenda que eu não tenho controle sobre o mb. É de outro sistema por exemplo.