awk '
BEGIN {split("ABCDEFGH", new, "")}
/ENDOFSECTION/ {addcol=0}
addcol {$(++NF) = new[++i]}
/PATTERN/ {addcol=1; i=0}
{print}
' file
Stuff
PATTERN
a b c A
a b c B
a b c C
ENDOFSECTION
Morestuff
O bloco BEGIN é um exemplo de como criar um array de coisas novas para adicionar.
Em seguida, o programa awk age como uma máquina de estado, configurando / desativando um sinalizador quando determinados padrões são vistos.