Criar camada a partir de recursos selecionados NÃO cria uma camada DINÂMICA . A camada resultante não é dinâmica. É baseado em um FIDset.
Se você alterar os dados de origem, os FIDs mudarão e sua camada de seleção será interrompida.
Não há cláusula where em uma camada de seleção. É baseado no FIDset (os FIDs que foram selecionados quando você usou 'Criar camada a partir dos recursos selecionados').
Observe que, se você adicionar ou remover registros dos dados de origem, os FIDs serão alterados e sua camada de seleção exibirá registros incorretos.
Você está confundindo a camada de seleção com uma camada de consulta, que armazena uma cláusula where e é dinâmica.
EDIT: A lista de recursos para uma camada de seleção é armazenada na memória. É uma prática ruim usar camadas de seleção que não sejam para trabalho temporário, pois não há como recuperar a seleção original depois que a camada de seleção é interrompida.
Para encontrar a lista de recursos em uma camada de seleção, você pode usar muitos métodos diferentes, incluindo o SearchCursor, para criar uma lista de IDs.
Algo assim:
OIDlist = []
with arcpy.da.SearchCursor(layer, 'OBJECTID') as scur:
for row in scur:
OIDlist.append(row[0])
Do comentário por crmackey :
Também existe uma maneira integrada de descrever para obter o FIDSet. Esta é uma sequência, mas é fácil de converter em uma lista:
OIDlist = map(int, arcpy.Describe(layer).FIDSet.split(';'))