Can you provide me a little know-how of how you could code your streets as shown in the figure. Initial class is assigned as A,B,C... and when certain street(say A) branches, it is coded , as A1, A2 with even and odd numbers corresponding to side the branching occurs. Similarly the number is added -either 1 or 2 as branching occurs. I believe network analysis with hierarcy is a good starting point.
I am okay with doing some Python and ArcPy.