Why not just the standard scheme for addressing, which is already in common use, and supported by applications etc. See http://wiki.openstreetmap.org/wiki/Key:addr
Yes, with the addr scheme you would have to create extra addr:interpolation ways, but it shouldn’t take long to add a pair on each block.

I think your proposal looks more complicated, and more likely to have errors, as you have to create relations and add the correct nodes to them.