The thing about the different lighting is to keep it from drawing railings "into" the ground. You've probably seen some maps that have bars that go anywhere from 8 to 104 pixels "into" the floor, and look ridiculous. If there are different sector properties, it cuts the bar texture off at floor level.
As for the trick: it's similar to the pre-port way of creating deep water and invisible platforms: what you'd do is have a line (preferably 1 pixel, maybe 2 or 4 pixels) away from the rail and on each side of the rail, spanning the entire length of the rail, as if you were to have 3 rails alongside eachother.
The next part takes some manual sector defining: you'll need to make the first side of that line a sector which is not connected to any other in the map. Then do the same thing with the second side. Make sure the first and second sides, although different sector numbers, have the *exact* same identical sector properties. These properties are where you'll specify the floor height which will be used as the part of the rail that you walk along.
As you could probably guess by the problem with the bars going "into" the ground, sectors next to eachother which have identical properties do not include the linedef that separates them, so you could give these sectors whatever properties you feel like in terms of texture, lighting, etc., but as long as the floor and ceiling heights are set, that's the only way you'll notice them in the game - when you walk into/over them. Since the game won't draw anything connected to those lines on each side of the railing, you won't see any of those sector settings showing up in the actual map.
It should be easy to do in Deep - draw the lines accompanying the rail, let them split the sector if it wants, then go outside the map and make two dummy squares. Set the properties here (your height, etc.) and manually redefine the front and back side of those invisible lines to match the dummy sectors. I leave those dummy sectors there until I'm done with the map, it makes changing the properties a lot easier if indeed I ever do have to rearrange the scene.
Of course, now you'll have some open sectors that won't pass an error check and won't run properly in a GL port, but it'll work in any other engine.
I can't think of a WAD that had this at the moment, but hopefully that makes sense. I guess I could do a little demo if necessary.