I think that it would be useful to label document
versions; much like is done with tagging in CVS or
Subversion. Then you could set permissions for public
users to only view documents versions that are tagged
“public”. Any public edits would go into a branch off
the version that is currently pointed to by “public”,
and those could be merged into the internal development
branch which I am assuming would be the tip of the
trunk. Or just disable public edits altogether, but
then the public users lose the experience of using a wiki.
The end goal of this is to have separate released and
unreleased product documentation, yet allowing changes
to be made on both. Another goal would be to allow
users using a particular version of a product to only
display the documentation for that version.