Can S-100 cards attach to the ZX machines?
That calls for a clear Yes, But :)
S-100 closely matches the same signals as the Intel 8080, as does the Z80 which the ZX Spectrum etc., have.
Adding a basic S-100 bus bridge for the ZX80/81 or Spectrum would in fact be no big deal - only some money to spend for bus board, cage, PS and so on. It would become a bit more troublesome when addressing schemes were considered, as the Sinclairs not only already fill the address-space with RAM, ROM and I/O, but also do not always fully decode such. As a result, the available address space is rather limited, and not compatible with many S-100 boards.
it seems extremely obvious to expand a ZX Spectrum or ZX81 with an S-100 backplane,
Well, while S-100 was still a big thing when the ZX80/81 came, and still around for the Spectrum, it also was mostly a US issue. While the Sinclair mania was more confined to Europe (*1), with Britain being a famous hot spot :)
to use disk controllers, modems, RAM expansion and all of that,
Keep in mind that people who bought a ZX machine weren't exactly buying at the upper end of the market - and each of the above S-100 products was rather expensive, especially when compared to expansions made to fit the Sinclair computers directly (and at the lowest possible cost).
but it seems it never was done, at least not commercially.
Right, to my knowledge there are no products for that. Everything that was available was using the ZX Bus directly as their expansion bus. Just think about all these pluggable Memotech modules for the ZX 81. They were not only less expensive than similar S100 boards, but also didn't need the investment in a bus board and a cage.
Bottom line:
- Wrong World Region
- Wrong Market ((Cheap) Home vs. Professional)
- Too Expensive
- Non Trivial Configuration
- Incompatible Resources (Address Ranges)
Especialy the last two would it make hard even for a dedicated hobbyist.
*1 - Sure, there was the TS1000/1500 in the US, but they never reached sufficient popularity to make anything worthwhile.