No, not to ambitious since I have the same idea, but my research also yielded nothing. I ended up kind of doing it oldschool with a hasmap in a conversationcoped bean that includes the keys of the tabs and keeps all data in there. Deleting it if a tab closes etc... Still I think it would be nice functionality if the a4j components could be passed a conversation Id and all subsequent actions were carried out within the scope of the conversation. Would make my code a lot cleaner.
I have an example working where the content of a tab is in an iframe which has it's own conversation. Closing the tab kills the conversation but killing the conversation also closes the tab (on rerendering ofcourse). I'll blog about this in a couple of weeks, so stay tuned.
Keep in mind that rendering tabs dynamically requires a c:forEach and will be a performance killer if to many tabs are open and a new one is opened.