Você não precisa de visto de trânsito se o seu visto D estiver em ordem. Tanto a Espanha e Portugal estão em Schengen, então você vai limpar a imigração em Barcelona. O seu voo da Vueling de BCN para LIS seria "doméstico" e você não passará pelo controle de passaporte no LIS.