Really though, are you sure you can't just send all lights at once?
Just to expand on this question, if the original poster is believing he or she has not enough uniforms etc., this is likely because he or she are using an overly complex lighting model designed after the fixed-function pipeline.
The fixed-function pipeline has a lot of parameters that are generally not useful just because it was fixed-function. Back then that was the only way to make all artists (somewhat) happy, and also a time when accurate lighting wasn’t a thing.
For a point light, you only need a color, position, and range. This means 2 vectors: [Cr, Cg, Cb, Range], [Px, Py, Pz, 1]. You don’t need specular color (it should always be the same as the regular color), ambient color (a nonsensical value), and 3 attenuation values.
Similar madness can be avoided by not following the example of the fixed-function pipeline for directional lights and spotlights, allowing you to easily double or triple the number of lights you can have with the same number of uniforms.
L. Spiro