Você pode passar por um arquivo duas vezes com a mesma sintaxe que você usaria para vários arquivos e apenas usar o mesmo arquivo duas vezes.
awk 'NR==1 { max=$1 ; min=$1 }
FNR==NR { if ($1>=max) max=$1 ; $1<=min?min=$1:0 ; next}
{ $2=($1-min)/(max-min) ; print }' file file
Explicação detalhada:
NR==1 { max=$1 ; min=$1 } - adota valores do primeiro registro, você já fez isso
FNR==NR - awk com vários arquivos de entrada terá um valor NR para o número do índice geral do registro (ou seja, como se todos os arquivos fossem concatenados) e um valor FNR para o número do índice atual Arquivo. Se estes corresponderem, estamos processando o primeiro arquivo, ou seja, este bloco é executado apenas para o primeiro arquivo.
if ($1>=max) max=$1 - awk a sintaxe da instrução if é if (condition) action ; else if (condition) action ; else action . Obviamente, as declarações if else e else são opcionais.
$1<=min?min=$1:0 - e alternativo if sintaxe da instrução: condition?yes-action:no-action . Isso requer e, em seguida, ação, o sem sentido 0 . Apenas pelo seu interesse.
next - pula para o próximo arquivo, para que o bloco a seguir seja executado apenas para o segundo arquivo.
$2=($1-min)/(max-min) ; print - faça uma normalização para [0,1] (você não tem uso para max em seu exemplo, então usei isso ...) e imprima dados.