Eu tentaria executar as subconsultas primeiro em uma tabela temporária para reunir suas contagens e, em seguida, extrair suas contagens totais. Com a forma como você configurou a consulta, cada uma dessas subconsultas será executada uma vez para cada linha de PCapps, e é por isso que está demorando tanto.
Tente algo assim:
declare @t table (Computer varchar(10), Sequence int, Site varchar(3), SoftwareName varchar(20), OS varchar(20) )
insert into @t values
('C1',1,'BKN','Adobe Acrobat','Win7')
,('C2',1,'BKN','Adobe Acrobat','Win7')
,('C3',1,'BKN','Adobe Acrobat','Win7')
,('C1',1,'BKN','AutoCAD LT ','Win7')
,('C3',1,'BKN','AutoCAD LT ','Win7')
,('B1',2,'CTW','Adobe Acrobat','Win7')
,('B2',2,'CTW','Adobe Acrobat','Win7')
,('B3',3,'CTW','Adobe LT','Win7')
,('B4',3,'CTW','Adobe Acrobat','Win7')
,('A1',2,'CTW','Adobe Acrobat','Win7')
,('A2',2,'CTW','Adobe LT','Win7')
,('A3',2,'CTW','Adobe Acrobat','Win7')
,('X4',3,'CTW','Adobe Acrobat','WinXP')
,('X1',2,'CTW','Adobe Acrobat','WinXP')
,('X2',2,'CTW','Adobe LT','WinXP')
,('X3',2,'CTW','Adobe Acrobat','WinXP')
,('A4',2,'CTW','Adobe Acrobat','Win7');
SELECT
Site,
OS,
SoftwareName,
Sequence,
COUNT(SoftwareName) as 'Count'
into #SiteSpecific
FROM @t
group by Site, OS, SoftwareName, Sequence;
WITH PCapps AS (
SELECT DISTINCT
Computer,
Sequence,
Site,
SoftwareName,
OS
FROM @t
)
SELECT
DISTINCT
PC.SoftwareName,
PC.Sequence,
PC.Site,
PerSeq.[Count] as 'Win7Installs/seq',
PerSite.[Count] as TotWin7apps,
total.[Count] as TotalInstalls
FROM PCapps pc
inner join (select SoftwareName, Sequence, OS, sum([Count]) [Count] from #SiteSpecific group by SoftwareName, Sequence, OS) PerSeq
on PerSeq.SoftwareName = pc.Softwarename
AND PerSeq.Sequence = pc.Sequence
AND PerSeq.OS = pc.OS
inner join (select SoftwareName, Site, OS, sum([Count]) [Count] from #SiteSpecific group by SoftwareName, Site, OS) PerSite
on PerSite.SoftwareName = pc.Softwarename
AND PerSite.Site = pc.Site
AND PerSite.OS = pc.OS
inner join (select SoftwareName, sum([Count]) [Count] from #SiteSpecific group by SoftwareName) Total
on Total.SoftwareName = pc.Softwarename
where Pc.OS='Win7'
order by SoftwareName, Sequence, Site