Sí, en SQL Server 2005 es posible usar una variable en el top cláusula. select top (@top) * from tablename