The plugin i am developing needs Motion vectors. Looking at the SDK documentation the only reference I have found in the sdk docs for motion vectors are in relation to the PF_CHANNELSUITE1, PF_GetLayerChannelTypedRefAndDesc. Which I read to only be availiable if they were in the underlying "file type", not quite sure what that means but doesn't sound like something I can depend on. Does after effects provide access to motion vectors for the input layer of effects?

I am not an expert in video compression, but it seems to be the field specific term for the same concept.

After Effects does not provide any image processing algorithms beyond standard pixel blending and colour conversion, so yes, you would need to obtain pixels of the layer, call a custom algorithm and then write it back to the output layer/world. Beware that after effects uses ARGB channel sequence in a pixel, which is different to what most other libraries use (e.g. BGRA or RGBA).