Um den case-Ausdruck nicht komplett zu wiederholen musst du das in eine CTE oder derived Table packen:

select artikelnr , SUMME_TOT, "Davon A", ...
"Davon A" / SUMME_TOT * 100.00, ...
from (
select artikelnr,sum(menge) SUMME_TOT,
Sum(Case When Kennz = 'A' Then Menge Else 0 End) "Davon A",
Sum(Case When Kennz = 'B' then Menge Else 0 End) "Davon B",
Sum(Case When Kennz = 'C' then Menge Else 0 End) "Davon C"
from File
where Datum between x and y
group by artikelnr
)
order by SUMME_TOT desc, artikelnr