Oh, so you’re actually in an easier scenario, then! Since you’re just adding elements to an existing scene, which themselves cast light, your shadow catcher pass will have both shadows and light, no problem. So that’d be the most straightforward way: just export your shadow catcher pass as an EXR along with your main RGBA, and put that layer between your background and CG, set to Multiply.
The thing about that, though, is that your shadows and illumination are both baked into the same pass, so you can’t adjust one without changing the other. So you could render out two Shadow Catcher passes*, one with the lights turned off (meaning you’ll only get the objects’ shadows in the pass) and one with the objects set invisible to shadow rays (so they’ll cast light, but not shadows): you’d end up with an “illumination” pass and a “darkening” pass, both of which still get layered in and set to Multiply, but can now be controlled independently. (Or, again, you could turn the pass off for your main beauty render, so the shadows carry along as black blobs right there in the RGBA—again, though, you lose some control there: you wouldn’t be able to color-correct the objects without changing their shadows too, and vice versa).
Another option, if you’d rather not mess with EXRs and 32-bit (necessary for the superwhite values to work correctly), would be to render that extra “lighting pass” I talked about: simply setting the building to white, and turning off everything but the light sources (Or, yes, using a lightgroup (which skips the “turning off other light sources” part, but still requires changing textures if you have any—in this case, I’d projected the house image onto my blocking geo for bounce light and bump mapping), or grabbing the DiffCol pass from the final render (which still requires turning off the other light sources, but skips the material-swapping part, since it’s just illumination divorced from surface colors).)
You can then use that render as a mask for whatever fully controllable color corrections you want: changing color, contrast, brightness… (you could even try using it as an inverse mask for your day-for-night look, so the rest of the scene gets dark & blue while the illuminated areas stay the original color? I dunno, could be interesting to try.)
*You could also split one Shadow Catcher pass into two by clamping A’s values at 1.0 (so it only has values 0-1, and can’t brighten) and B’s below 1.0 (so it only has values 1+, and can’t darken), and while I imagine that’s possible in Photoshop, I’m not sure how, as I haven’t really touched the program for a few years, and never worked much with 32-bit float back when I did. You could easily do it in the Blender compositor on the way out, though, splitting the one pass into two and saving them to separate outputs.