ENVI currently handles processing of specific regions in an image by using masks. Since masks are built according to the image dimensions, you would have to create a mask for each image (unless they are all of the exact same dimensions and coincident with each other). Also, the routine for processing must accept a mask. If it does, then you can use the undocumented ENVI_MASK_DOIT as described in this help article:
http://www.exelisvis.com/Support/Help...
You don't have to do the subsetting part but it has an example of how to use the vector file to create a mask which can be used as input to the processing routine.