It might be possible to have the pupil be attached to the eye via the rivet script. So if the eyeball is deformed the rotated the pupil follow fine, you just need to make sure the pupil is not under the influence of the deformer.
for example:
Create a sphere. Create a cube. Create a rivet locator on the sphere. Point constrain and orient constrain the cube to the rivet locator(maintain offset off). Then add a lattice to the sphere and then squash it or stretch it. Then select the actual sphere and rotate it. The cube will move along the deformed surface of the sphere but not be distorted itself. Good luck