no entendi bien lo del x ,y, z
pero con el Top N puedes seleccionar un número determinado de filas...
y como el top no acepta variables puedes ejecutarlo con sql dinamico...
por ejemplo
Código:
declare @iFilas int
set @iFilas = 6
execute ('Select Top ' + convert(varchar, @iFilas) + ' * from mi tabla where micondicion ')
el sql dinamico tiene sus desvantajas... en este foro han pegado links donde se explican a detalle...