Hi.
Presumably you would need three textures (the two being combined in the first pass, plus whatever is being overlayed with its result in the second pass), in which case there doesn’t seem to be any documented way to supply enough inputs to the multi-pass machinery.
As for sprites, an important point is that the texture rects (whose coordinates are normalized to 0-1 ranges at the shader level) need to be known by the effect, but at the moment only one set of coordinates is exposed to custom shaders. Presumably the built-ins are no different and this in fact mirrors the underlying reality, i.e. only set of coordinates is maintained by Corona itself.
For non-sprite inputs it’s often fine that both objects receive the same texture coordinates, since the geometry is common to both and frequently the images will correspond to that. This is generally not the case with a sprite, where it only wants to draw part of the image but the overlay (or whatever) should be complete. You then have to provide that missing coordinate information, and likewise need an effect capable of using it. (Right now there’s not a lot of support for this, either, e.g. being able to conveniently grab the coordinate info on demand. I have some ideas to that effect, as mentioned in these two related pages: here and here.)
As suggested by the first link in my last paragraph, the answer to both your questions might be to put the results of your “first pass” into an equal-sized canvas (unfortunately still a little awkward in the sprite case, especially if the frames vary in size), feeding the canvas itself to one of the composite fill’s paints.