En una sola consulta no se me ocurre nada, pero sí una alternativa aunque es un poco más engorrosa. Se trata de hacer un procedimiento almacenado.
El funcionamiento sería con un cursor, haciendo una consulta que seleccione cada producto diferente
Código SQL
[-]SELECT DISTINCT DESCRIPCION FROM A
lo almacenarías en una variable
y luego harías un INSERT combinado con SELECT en una tabla temporal de los 5 primeros registros que tienen por descripción el producto por el que vamos (@V_DESCRIPCION)
Código SQL
[-]INSERT INTO TABLA_TEMPORAL
SELECT TOP (5) ID_PRODUCTO, DESCRIPCION, PRECIO, CANTIDAD, FECHA, EMPLEADO
FROM A
WHERE DESCRIPCION = @V_DESCRIPCION ORDER BY FECHA DESC
Y por último una vez ejecutado el SP harías un simple SELECT * de TABLA_TEMPORAL.
Seguramente haya errores de sintaxis y tal pero creo que más o menos te haces una idea.