Was spricht gegen den PolygonManager? Ein als 3ds geladenes Modell hat erst einmal gar keine zweite Texture-Stage. Wird eine neue Stage ergänzt, werden die Koordinaten der ersten übernommen. Ich würde (und tue das auch so) mit dem PolygonManager über alle Polygone gehen und die Koordinaten der Ebenen entsprechend setzen. Das geht über individuelle TextureInfos pro Vertex und das beantwortet auch deine Frage 3): Die sind dazu da, einem Punkt x Stages mit jeweils anderen Koordinaten zuweisen zu können. Da der Prozess nicht so ganz performant ist, über ich auf dem Desktop erledigen lassen und das serialisierte Objekt in Android laden.
Zur Idee mit der Matrix...ja, ging auch. Zumindest wenn ich das Problem richtig verstanden habe. In dem Fall wäre das einfach eine Skalierungsmatrix. Die Texture-Matrix ist eine ganz normale 4x4-Tranformationsmatrix. Da geht im Prinzip alles mit. In diesem Fall also z.B.
Matrix scale=new Matrix();
scale.set(0,0,scale);
scale.set(1,1,scale);
scale.set(2,2,scale);
Dazu brauchst du aber keine Shader. Wieso willst du das Blending im Shader machen? Das macht doch die Hardware schon bzw. die Defaultshader, wenn du GL ES 2.0 nutzt.