First, if you haven't read this then you should:
...you may have already.
Anyway, for the inside outside thing you will have to render it as two separate meshes or two separate sets of faces and force the ordering. There is really no other way.
For interpenetrating objects, you are pretty much out of luck. If you imagine even a scene as simple as two semi-transparent interpenetrating triangles, there is no proper order for rendering them that won't generate artifacts.
What kind of stuff is it that you are attempting to render?