Как насчет параметризации TOP?Это все еще уродливый хак, но по крайней мере вам нужен только один запрос.
DECLARE @custnum AS VARCHAR(7)
DECLARE @topcount as int
SET @custnum = '1234567'
SELECT @topcount = CASE WHEN @custnum = '1234567' THEN '50' ELSE 2147483647 END
SELECT DISTINCT TOP (@topcount)
item1, item2
FROM myTable
WHERE myCust = @custnum
Редактировать: Извините, только что понял, что это было для SQL Server 2000. В этом случае это не будет работать.