Esto se logra ejecutando primero el procedimiento almacenado, capturando el resultado en una tabla #temp o una variable @tabel y luego ejecutando su consulta en la tabla. Algo como esto:
declare @droits_table (val ,... );
insert into @droits_table
exec up_droits(param, param);
SELECT distinct top 10 i.x, d.droit FROM v_droit d, v_info i WHERE d.nomdroit='yy' AND i.id<>2 AND (select val from @droits) <>3
Por supuesto, esto no funcionará porque up_droits necesita los parámetros i.x y d.droit de la consulta. Esto indica que su procedimiento almacenado probablemente debería ser una vista o una función con valores de tabla.