O problema é que suas variáveis estão sendo expandidas pelo bash antes que o find seja executado. Por causa disso $a é expandido para 0, $$ é expandido para o PID do seu shell (login), então o comando que é executado por bash -xc é, na verdade:
echo 0 {} ;((a++)) ; echo 0 1314
Aqui {} é substituído por xargs com o resultado de find e o valor de $a é pós-incrementado, mas nunca é impresso. Tente escapar as variáveis (como em \$a ), ou melhor ainda, colocando os argumentos bash -xc entre aspas simples ( ' ) em vez de aspas duplas ( " ) para ver se funciona.
Você também notará que os outros comentadores estão corretos, xargs -n1 (ou com -I{} ) executa um novo shell para cada argumento, portanto, incrementar $a não funcionará - o valor incrementado não será visível para o próxima invocação do comando bash -xc .