Can the tabs be -- literally -- anything? Or are there a finite number of tabs, of which you only want some to be rendered each time? if that is the case, you can just set the rendered property on each tab, and link that into a backing bean value.
If that won't work for you, another option might be to bind the rich:tabPanel to a UITabPanel in the backing bean. Then, on construction of your bean, you can add any UITab children to this UITabPanel. Once you have these objects in the backing bean, you can basically manipulate them however you like before they are rendered on the page.