Hi Steve,
If two or more slaves transmit on the same channel period, they will all transmit concurrently. Typically no message will get through due to the interference, though 1 may get through if it's signal strength is greater than the other transmitters.
If slaves only need to send messages rarely (such as ANT+ Bike Computers to ANT+ Sensors), then it might not be an issue. But if there is a relatively large statistical chance of collisions for the use case, then some form of arbitration will be required to prevent or at least reduce the impact of slave-to-master channel collisions when multiple slaves are paired to the same master.
One method would be to introduce randomized back-offs. For example, the 2 slaves send two messages but receive no acknowledgment back, so one randomly decides to wait 2 channel periods before transmitting, while the other decides to transmit again in the next period. If this doesn't work the second time, the back-off window range is enlarged, giving them a greater chance to find a timeslot where they don't collide. This type of scheme is detailed in the ANT+ Controls Device Profile and is also used in other communications protocols.
If you require a time deterministic approach, your master channel will have to do some work to tell the slaves when they're allowed to transmit, whether that's using the built-in shared channel approach or an application specific approach.
Regarding your second question, the slave must have the message ready and buffered before it receives the next message from the master channel. There is not enough time for the application to respond to a master message it has just received within the same channel period. Slaves do allow you to queue a message before you've even opened the channel, so it can send an initial message instantly.
Best regards