Just wrap it in a CTE:
; WITH cte AS
(
SELECT DISTINCT EDI_PARTNER_CD
FROM MG_EDI_PARTNER
UNION ALL
SELECT TOP 1 '(NULL)', EDI_PARTNER_CD
FROM MG_EDI_PARTNER AS MG_EDI_PARTNER_1
WHERE (DELETED_FLG = 'N')
)
SELECT EDI_PARTNER_CD
FROM cte
ORDER BY
CASE EDI_PARTNER_CD WHEN 'INTTRA' THEN 1
WHEN 'GTNEXUS' THEN 2
WHEN 'DAKOSY' THEN 3
WHEN 'DAMCO' THEN 4
WHEN 'DBH' THEN 5
WHEN 'BMW_CONT' THEN 6
WHEN 'CATERPILLAR' THEN 7
WHEN 'CARGOSMART' THEN 8
WHEN 'EXPEDITORS' THEN 9
ELSE 10 END,
EDI_PARTNER_CD
As a side note: I changed UNION to UNION ALL together with a TOP 1 in order to reduce overhead (UNION is required to remove the duplicates caused by the missing TOP 1).