Making shared bus act as OR
Your SPI-without-select is what Microchip uses on their MCP23017 chips (and others). Nothing wrong with that approach.

Yes, what you want is possible, but you must get the slaves to be open-drain. You could cheat by putting a (schottky) diode in series with each output if you can't get them to behave as open-drain.

Your enumeration approach is the same as used by the Dallas one-wire bus for enumereation, and by the CAN bus for arbitration.

But a serious drawback of your approach is that the speed is now limited by the rise time, driven by the pull-up resistor. This will be slower than when driven by a push-pull output, and will likely limit the speed at which you can operate the bus.

If you have two pins to spare on each slave you could daisy-chain them, and have an enumeration scheme based on their place in the daisy chain.