Is there any way to create a list/array of all the gameObjects in the current scene that have a renderer? If not, do I first have to create a list of ALL objects, and then check each one for a renderer and put those in a seperate list?
You can use Object.FindObjectsOfType:
Renderer renderers = (Renderer)Object.FindObjectsOfType(typeof(Renderer));
This call is expensive, and if possible should be used sparingly.