Still thinking about this for my own boards (using a '688 as address decoder)...
@Mike
At first I found your idea very clever for setting the size with jumpers.
But now I can't see any practical use for it.
I mean, the size depends on what peripherals I put on the board, and is fixed for a given board.
So I can spare some of the jumpers and route directly the pins for the needed size (all to ground, not to A0..Ax). And use only two rows of pins for the address jumpers. Saves space on the board and prevents errors.
This will also remove the pull-downs from the low address lines (which are introduced by the jumpers in the 'size' position), which will reduce the load on these pins from the Z80.
But I will probably build a 'proto board' with your full design, because I still find it the most flexible address decoding I have seen until now, and flexibility is great for prototyping.
Just not on 'production' boards.
@Matt
I would route M1 to only one input of the '688, to avoid overloading the M1 output of the Z80 when many boards are used.
(I don't know the 'fan out' limit of the Z80 (I know, it's CMOS, and fan-out is a concept from the TTL world...), but less load is always better)