Just to update for anyone who is interested. The problem that I have encountered with remounting /etc from a writable location, in this case, from /tmp/XXXX/etc is to do with mounting over the top of the repository.db located under /etc/svc. The file is essentially the same, however, this causes problems with svc.configd. If you run svcs in say, maintenance mode after this mounting has taken place, it states an error reading from the repository.
I tried a couple of things. 1) Creating a link to a separate location for the repository db instead of using the actual location of the file under /etc/svcs. This did not work. 2) Killing the configd process from within fs-root. This worked and starts on the fs-usr script however, this didn't continue to work past that. When the process was killed from maintenance and "svcadm clear fs-root" was called (I needed to remount,rw in order to log some debug to a log file on /) it did work. The only thing that can be done is to locate the repository elsewhere (hopefully it will work on a read-only location) such as /repository which I won't mount over the top of. This should be possible in that, svc.configd DOES take an extra argument, or so I've read which allows you to specify the location of the repository. The only problem here again, as I've read, is that svc.startd invokes svc.configd without any arguments so in order to get this little project to work, I'm going to have to change/compile svc.startd. This message posted from opensolaris.org