I am making a node setup in Cycles stylized after the toon shading in Legend of Zelda: Wind Waker, and I have two questions. Using the "normal" node, how can I have the first normal input (the first sphere in the node) automatically point to the nearest light, and when the nearest light changes, smoothly animate the movement of the normal direction? Second, how can I make a light that illuminates all the vertices in it's range, not just the ones pointing towards it?
Unless you have special reasons to use Cycles, I would consider using EEVEE for, at least, the main passes of your work, because of the Shader to RGB node.
The Shader to RGB node, which really can't be implemented in a path-tracer like Cycles without calling the whole renderer twice, allows you to take the actual light-response of a surface, capture that color, and then use it in any way you like further down the pipeline.
In that workflow, you could, for example, choose to forget coloring by Normal, and actually light a pure-white diffuse version of your model, and maybe a black highly specular version of your model, and so on.. by using different shaders all in the same node tree.
You can then grab the tones from those shaders as RGB, put them trough thresholds, quantize them, use them as masks for textures, do half-toning with them, tint them with colors that are not actually in the scene .. almost anything.
Not your style, but there's an example here of half-toning and tinting. A search on 'NPR' and 'Shader to RGB' turns up plenty of examples, some good, some not-so-good...