XXXXXXXX
XXXXXXXX
RRRRRRRR
XXXXXXXX
XXXXXXXX
X = Colonial age building (4 of them on one side of a road, 4 on another), R = single lane road (8 squares). So in order to supply 8 colonial age buildings we need 8 squares of road. One square of road each needs to be dedicated, which is half of the shortest side of the buildings (the shortest side is 2 squares). Granted, this looks off because R's have less width then X's, but it is 8 R's and 8 X's long.
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
X = Industrial age building (3x2), R = single lane road. Here we see that 8 squares of road can also supply 8 industrial age buildings wiht sufficient connection to city hall (assuming the rest of the road is just as efficient, or that this connects up to city hall directly). In any case, again, the added road surface needed is equal to 1 square per building or half of the smallest side.
Now for the Progressive age buildings that require one lane roads:
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
XXXRXXX
6 3x3 buildings depicted (3 on each side of the road), 9 total road squares needed, so 1.5 road squares needed per building, which is half of the shortest side.
However, for the progressive age building which requires 2-lane roads we get:
XXXRRXXX
XXXRRXXX
XXXRRXXX
XXXRRXXX
XXXRRXXX
XXXRRXXX
4 buildings depicted (2 on each side of the road) requiring 12 squares of 2-lane road, or 3 squares per building, meaning that you need to add the full length of the shortest side, not half the length.
This is due to the fact that each building requiring of regular road can share those squares with a building on the other side (if the city is laid out efficiently), whereas each building requiring 2-lane road will also be able to share those squares with a building on the other side, but since th road takes up two lanes in width, each square of width (in this case, length if the layourt were more horizontal) of the 2 lane road can only be devoted to one building, not shared.
And yes, generally buildings will need to have the full length of one side hit by a road because the road will need to connect more things past them and more things before. A building at the end of a road only needs to connect up to one square of road though, regardless of the size of the building, so that lets you make it a bit more efficient, but when you need to bend a road to get to city hall you often lose some efficiency.