as many as you specify
the gpu doesn't care where your array starts
all it cares is that the indexes specified by the index list are correct.
gl has no built in interpolation - that requires a vertex program. if you use one, you can specify two separate arrays, one for each frame, along with a weight and do the blend in your vertex program. in such a situation you really want to include vertex normals too, so it can do lighting in the vertex program too.
so either you rebuild the array each video frame with your interpolation code written in C (changing the data in the arrays), or you specify per-frame arrays and do the blending in a vertex program (changing the entire array itself.
if you don't have interpolation, then things get really easy! :P
FTE dynamically builds a new position+normal array each frame drawn if using blending. If not using blending, it just gives the driver the buffered info directly without extra copies.
the main advantage of arrays is that it reduces the overhead of calling glVertex multiple times for 500 vert models. Using glBegin requires you to specify the same vertex up to 3 times (depending on your fans/strips). If you're recalculating vertex normals 3 times per vertex, you can understand that using a vertex array would be faster, especially when you reach the number of verticies in more recent games.
but yeah, if you're using a vertex program, you can specify which vertex sets to blend from and just tell it the location of each frame's vertex array data, and do the blending entirely on the gpu, along with lighting calculations. The only reason FTE doesn't do that is because it creates a lot more pathways when you need to do blending with realtime lighting and things.