Com gnu split você pode usar a opção --filter :
split --numeric-suffixes=0001 -l 80 -a 4 \
--filter='sed -n -e "1,40w $FILE" -e "41,80w ${FILE/X/Y}"' infile X_
Isso dividirá o arquivo em partes de 80 linhas, canalizando o conteúdo de cada parte para sed , que grava as primeiras 40 linhas em $FILE (o nome da peça, nesse caso split substitui por X_???? - consulte man split ) e o restante a ${FILE/X/Y} , que é o mesmo nome, mas com X substituído por Y .
Como o requisito foi alterado e você só precisa dividir em partes com nomes alternados, você também pode usar awk :
awk 'BEGIN{c=1;p="X"}
{close(fn);fn=sprintf("%s_%04d", p, c);print >> fn}
NR%40==0{p="Y"}NR%80==0{p="X";c++}' file1
Isso define o nome da peça com base em duas variáveis, p refix e c ounter. A cada 40 linhas, o p refix muda para Y , a cada 80 linhas o p refix muda para X e o c ounter é incrementado.