Utilizei o OVER() para criar uma coluna com o SUM do faturamento já agrupado, criando o total e calculei direto com o faturamento da SUBQUERY já agrupado por ano e sabor.
SELECT
DADOS.SABOR,
DADOS.ANO,
FATURAMENTO,
CONVERT(VARCHAR, CONVERT(DECIMAL(12,2), (DADOS.FATURAMENTO / SUM(FATURAMENTO) OVER() * 100))) + '%' AS PERCENTUAL
FROM (
SELECT
SABOR,
YEAR(DATA) AS ANO,
CONVERT(DECIMAL(12,2),SUM(QUANTIDADE * PREÇO)) AS FATURAMENTO
FROM [TABELA DE PRODUTOS] TBP
INNER JOIN [ITENS NOTAS FISCAIS] INF ON TBP.[CODIGO DO PRODUTO] = INF.[CODIGO DO PRODUTO]
INNER JOIN [NOTAS FISCAIS] NF ON INF.NUMERO = NF.NUMERO
WHERE YEAR(DATA) = 2016
GROUP BY SABOR, YEAR(DATA)
) DADOS