Cara se você quer fazer uma quantidade incerta de inputs, eu vejo isso resolvido de duas formas:
1º: Você pode criar todos inputs e no atributo rendered você controla quais devem ou aparecer.
2º: Caso você não saiba nem o máximo de inputs possível, ou um c:foreach, um repeat qql loop pra fazer as inputs aparecerem, de acordo com algum valor. Ou você pode montar pela classe, por exemplo você instancia um modalPanel e nele adiciona os inputText.
HtmlPanel richPanel; // lembrando sempre de importa as bibliotecas do rich.
HtmlInputText input; //ai você da um crtl spaco que vc vai ver as mesmas opção q ve no .html, setar value, id, rendered, etc...
//para adicionar o input no panel você faz:
richPanel.getChildren().add(input);
para passar o panel com os inputs pro html (ou xhtml) você usa o binding:
<rich:Panel binding="#{Classe.richPanel}"/> //lembrando de definir get e set's
Ai você colocar em loop alguma lista e para cada item, você instancia um new HtmlInputText(), e no final adiciona ele no richPanel.
Abraço!