It is not possible to change the color attachment of the FBO to any other texture ID inside the geometry shader. However you can choose the slice (or cubemap face or layer of the texture array) you want to render to from the already set up color attachment of your FBO, and you can do that several times in the same instance of the shader. So yes, it is possible to fill in the entire 3D texture by rendering only 1 point with the proper geometry shader.
Geometry shaders can be used to render to one of several different layers
of cube map textures, three-dimensional textures, plus one- dimensional
and two-dimensional texture arrays. This functionality allows an
application to bind an entire "complex" texture to a framebuffer object,
and render primitives to arbitrary layers computed at run time. For
example, this mechanism can be used to project and render a scene onto all
six faces of a cubemap texture in one pass. The layer to render to is
specified by writing to the built-in output variable gl_layer. Layered
rendering requires the use of framebuffer objects. Refer to the section
'Dependencies on EXT_framebuffer_object' for details.
EDIT: I’ve just noticed a weird thing in the extension specification: This extension interacts with ARB_tranform_feedback. There is no such extension in the registry…