blending again

This is my second attempt on a blending question.

Background:
Writing a program (simulation) that creates a large sample set of 3D points that represent a volume. I have implemented an object type that consists of an array of polygons (the surface of the volume) and an int array (index) for ordering the polygons drawing order. When rendering the object I just step through the index drawing triangles.

Problem:
As glRotate is called, need to continue to reorder the polygon index. Don’t really want to change the original point data (will want to implement some kind of picking later to retrieve the original). Is there a strategy for manipulating the model matrix (or the polygon index order) to preserve polygon ordering relative to rotation? It seems like this should be possible, or do I need to re-think the whole rendering scheme?

Secondary, any suggestions on finding the surface of a 3D point volume? Right now the input values are known so there is a kind of clunky mapping instructions that creates the polygons. This works, but may fail in some rare situations, and a nice algorithm would be nicer. Thx.