pelo que entendi, você quer acumular os valores de cada compra (preço x quantidade) dentro de Sub-total, não é?
Sempre inicie sua função preencheDados() capturando o valor setado em sub-total:
valorSubTotal = sub_total.val();
Adicione, no final, o valor do sub_total:
Vê se é isso