I wonder if you ever found an answer to this issue ?
I have a similar requirement, in that I want to create an online installer that works both ways. It needs to be able to be run in "download-only" mode (no installation, just download the repo). Then my client's IT dept can have a copy of the repo to put on their server, and their users (some of whom don't have internet access) can do a local installation from their local repo.
It seems that most of the functionality exists:The offline installer will create a local repo if asked to (CreateLocalRepository in config.xml). This could then be relocated to their server. The online installer can be forced to act like an offline installer by pointing it the local repo.
What I can't seem to do is combine 1 and 2 in the same installer. I could create both an offline and an online installer (one for client's IT and one for their users), except that I cannot package all components into the offline installer because some are licensed, and the client should only have access to the components that they have a licence for.