can I send the instance data straight to the pixel shader somehow?
What would that mean, exactly? The values your fragment (or pixel if you insist) shader gets are per-vertex values interpolated across the face of the primitive, and constant uniform values that do not change within a draw call.
There is no way to magic a vertex stage input into a vertex stage output. There must be a vertex shader and it must write that input into the output.
I want to use instancing to draw point lights.
You probably do not. Instancing usually isn't a performance win unless you're talking about thousands of instances. If you only have 20 point lights, it's not going to be worthwhile.
At the very least, you should profile it before committing to it.