Есть много способов реализовать это.
Один из возможных способов - установить переменную логического флага на False
всякий раз, когда слой рисуется, и проверять значение переменной флага при каждом щелчке мышью: если оно ложно, не позволяйте щелчкам получать до их обработчиков.
Если вы реализуете это с помощью объектно-ориентированного программирования, вы можете зайти так далеко, как создать объект "LayerManager", который отслеживает различные слои, их положения и способы их перекрытия (если вы планируете иметь очень много слоев друг на друге).
Насколько я знаю, PyGame не позволяет вам использовать слои так, как вы хотели бы, поскольку это довольно специфическая функция, которую вам, возможно, придется реализовать самостоятельно. Если вы отправите код, мы будем рады вам помочь!