I'm not aware of any tool, but I thought I'd toss my $00.02 your way.Something to consider is that using streets as the basis of geocoding is typically less precise than using address points derived from you parcels. And sometimes less precise is good, as long as they are accurate. By accurate, I mean you get on the block; by precise I mean you hit the door step everytime for your geocoded point. Some places use the actual house numbers on the street to establish the range which what it sounds like you are doing.My use of street centerline data for geocoding for 9-1-1 calls, and I'm not a fan of using house numbers for street ranges. Lot's of things happen at intersections in the 9-1-1 world which is why I prefer accuracy over precision when it comes to streets. Emphasis on streets; anytime you use a linear feature to geocode against, you are interpolating the location of the address. My example is always if the range on a street is 100-200, the street based locator is going to drop the point right in the middle of the block, on the even side of the street. Could be that house number 150 is really on the odd side of the street and at one end. If I need that specific precision, I'll use point data.As a suggestion, you may want to investigate the grid your city is based upon. Most named streets have a corresponding numeric value based on the grid. Use the grid/numeric values to range your street segments. Those aren't going to change. Structures may come and go, but addressing grids are static for the most part.Hope this helps.
That should just about do it....