Primeiro, as duas expressões que você lista não são estritamente equivalentes.
/files/etc/pam.d/*/*/argument[../argument = 'nullok']
seleciona argument nodes 2 níveis em /files/etc/pam.d que possuem um nó argument irmão (ou eles próprios) com um valor definido como nullok , enquanto
/files/etc/pam.d/*/*/argument[. = 'nullok']
seleciona argument nós 2 níveis abaixo de /files/etc/pam.d com um valor definido como nullok (mas não seus irmãos, se houver).
Agora, o problema que você está enfrentando é que os argument nós que você está tentando corresponder são, na verdade, 3 níveis em /files/etc/pam.d , não 2, então é necessário outro nível /* .
A maneira mais fácil de evitar níveis de contagem seria corresponder em qualquer nível, usando // :
/files/etc/pam.d//argument[.='nullok']
Dito isso, não sei o que você planeja fazer com ele, mas talvez queira saber que existe uma provedor Puppet baseado em Augeas para gerenciar as entradas do PAM , o que pode ser muito mais fácil do que reimplementar sua própria solução.