Should be a pretty straight forward question. Can I add an INDEX to a Common Table Expression (CTE)?
@B H - To get around the DISTINCT problem with using TOP 100% or TOP 1000000, you could always use GROUP BY. Serves the same purpose and is sometimes faster than DISTINCT.