PanelBar doesn't consider PanelBarItems rendered dynamically, if you have:
<rich:panelBar id="pb">
<rich:panelBarItem id="pbi1" rendered="#{isPb1Rendered}">
...
</rich:panelBarItem>
<rich:panelBarItem id="pbi2" rendered="#{isPb2Rendered}">
...
</rich:panelBarItem>
<rich:panelBarItem id="pbi3" rendered="#{isPb3Rendered}">
...
</rich:panelBarItem>
<rich:panelBarItem id="pbi4" rendered="#{isPb4Rendered}">
...
</rich:panelBarItem>
</rich:panelBar><![CDATA[
new Richfaces.PanelBar('pb',{'items':[{'onleave':'','onenter':'','id':'pbi1'} ,{'onleave':'','onenter':'','id':'pbi2'} ,{'onleave':'','onenter':'','id':'pbi3'} ,{'onleave':'','onenter':'','id':'pbi4'} ] ,'onitemchange':''} );
//]]>