If I wanted to render scene world normals to a buffer, and then access that buffer from a shader, would I need to use deferred rendering, or can this be done in forward rendering also?

Specifically, I am using my own lighting with transparent meshes laid over the scene (its a 2D game). I’d like to have the lights play off of normals in the scene, so I think I need to access the normal values of those materials from the light mesh’s shader.

The normal buffer is only available in deferred. If you want transparency in deferred you need to use a separate second rendering pass (so you might need both deferred and forward).