Both answers are right. It's best to have access to the original mesh, but you can get away with not having it, if needed, although that will add to the game's overhead. Make sure your config.txt file has the tag "nightmode" set to either "home" or, to have the nightmode on all night, "lamp".
To add nightmode to an existing mesh, take a look at the Chinese Restaurant or Liberty Place under my kuid to see how it's done, especially the config.txt entries. In these cases, I did not have access to the original mesh, but I was able to add nightmode by duplicating the mesh and its textures in a subfolder, and altering (essentially, "reskinning") the night mesh. Try Gimp; more on that in a sec. The result of this method is that the night mesh and all of its own textures gets overlaid on top of the normal/default/daytime mesh. You need to put the night mesh in its own folder, though, since the texture names will be the same.
To add nightmode to your own mesh, you start by making a night texture. In the case of my recently-uploaded McMansions, I took a snippet of a window, a door, and a few other bits, putting them into a single, small texture (I think I got it down to 128x256 or something like that). Then I darkened them in Irfanview and went into Gimp (again, more in a sec, lol!) In this case, since I had access to the mesh, I simply made a few planes, sized to the size of the windows, but pulled out a bit so they wouldn't overlap with the original mesh, which will cause flicker, especially far away. I mapped them to the appropriate part of my night texture, then copied each mapped plane everywhere I wanted a window, resizing when necessary for the bigger windows. Once I had all my night bits, I deleted the main mesh and any materials it used, so I was left with a single mesh of about 40 polys' worth of windows and the one ngiht material. This mesh gets overlaid on top of the normal/default/day mesh, providing a night effect. Using this method, you do not need to have the night mesh in a separate subfolder if you don't want to, as long as your texture file has a different name than any of the day textures being used, although I prefer subfolders.
As far as making a nice night effect, I use Irfanview to darken any textures. A setting of -180 in the brightness section seems to work well and Iview supports batching. I then load the textures to which I want to apply night effects in Gimp. The important function is under Filters, and is called Light and Effects or something like that. You pick a color, and a type of light, point or directional - both are useful, and you can have more than one light source. Set the intensity low, to around .30 or so for most subtle lighting effects. There is another tab with items such as "glow", "shininess" and other effects that can be applied too - you just have to play with the settings til you get something that looks right.
You can control what part of your night texture gets light by selecting part of it with one of the select tools (box, circle, lasso) before you go into the Lighting and Effects filter. You can even run subsequent passes, using the same filter settings, on different parts of the texture to make realistic-looking window lighting, for instance.