Original User: jstreeb
If you have separate fields, one for the high address of each segment, and one for the low address of each segment, then it's actually not that hard to label the high and low address ranges for segments. The first option, how I labeled some map book type products for our public safety folks at the county I work for, I just put a single small label on each segment that used the option to create your own labeling expression instead of labeling from just a single field. I put [LowAddr] & " - " & [HighAddr]. That creates a single, easy to use labeling option for each segment. The other option I've used actually labels the high at the end of the road and the low at the beginning of the road, but it, especially for web-applications is not an ideal solution because it requires duplicating efforts on the part of the server. I'm sure there are some ways with MapPlex to create multiple labeling rules for a single layer, which would make this second method a better option, but my server doesn't have access to MapPlex, only one desktop account does, so, this is my work-around. Take and set the roads layer how you want it to display in terms of symbols, transparency, etc... Then copy and past that same layer into the map document you're working with a second time. For the first road layer, go in to the labeling options and under some of the specific labeling options tucked away in some of the sub-menus, you can actually find option for line segment labeling to place the label at "at best", "at start", or "at end". For this first layer, set the high address range field to be the labeling field, then select the end of the line to be the placement option. Then, all you have to do is go and do the opposite for the other road layer, making it label with the low address at the beginning of the line.
Again, I'm sure there's a better way that doesn't require the roads layer to render twice, but I'm not sure what that better way is, so those are my two suggestions.