SPI Flash device selection using SCLK, MOSI as well as SS?
I think your solution will probably work, within some constraints.  The obvious one is "all SPI slaves must exhibit precisely the same bus behaviour as an Atmel 25M01".  Also, I far prefer technique 1.  Some specific answers:


A PGE on a /CS line should always cause any incomplete bus transaction to terminate immediately, so even if there is the odd spurious clock generated on selected devices that are not the current target they will be cleared in normal operation.  Similarly, a /CS window that doesn't enclose any transitions on SCLK shouldn't start any bus transactions.
This is more of an issue.  You need to be certain that this won't happen and, as noted, you will need to be clear for maintenance purposes that any new SPI devices don't actively drive the MISO line until they receive a "read" command.  You might want to consider fan-out, too; I know high-impedance outputs don't represent much of a load, but 19 of them is worth paying attention to.
If you don't use technique 2, then this doesn't matter...
SPI memory devices, particularly larger ones, are increasingly meeting JEDEC standards for communications behaviour.  If you choose devices that are JEDEC-compliant then you should have no interoperability issues, at least until the standards change.
True, but many SPI ADC's actually use the SPI clock to run the ADC's successive approximation state machine.  No clock cycles, no output.  That said, they might drive the bus immediately.  Back to my original point: set a standard, and require that slave devices that don't meet the standard are not attached to the bus matrix.