Unfortunately I can't help - I am stuck at nearly the same problem...
For my lightweight Lightwave import I also use an IndexedTriangleArray. However I can't get textures work with such an indexed array at all. There are so many geometry.setTexCoord(..) and geometry.setTextureCoordinates(..) method calls I'm really confused now.
The only way to make the models being textured is to use the nice TexCoordGeneration object, which looks nice, but it's not what I want to do (at the mo). :-)
Java3d tutorials don't help because they never use an IndexedTriangleArray for their texture examples.
Also I'm fighting with the IndexedTriangleArray. The geometry.setIndex(connector_array) I confused with Java3d's setCoordinatesIndices(0, connector_array)... Unfortunately I can't find any help/tutorial about the details of all the important IndexedTriangleArray methods.
Maybe David's single comment in the GeomIndexedContainer class explains a few of the difference Xith3d's IndexedTriangleArray compared to J3d's?
Builds indexed geometry. The vertex inforamtion is still stored the regular way, but the vertices drawn are those specified by the index. A single index is used for all color, tex, normal coords. So if you have a vertex with the same coordinate, but with different tex coords you need to build a new vertex and reference that via the index. This is so that the speed of using only one coordinate is used.
A tutorial on this could maybe also solve our texture problems with IndexedArrays. Just a guess. :-)