Your first question reminds me the
discussion we had with Dan Allen about the possibility to create a "reference-toc" macro.
This way in document1.adoc you could do something like that:
reference-toc::document2.adoc[]
to get the TOC of the second document in your first document.