No puede reducir la cantidad de consultas, todas hacen cosas diferentes, pero puede reducir la cantidad de viajes de ida y vuelta a la base de datos y la cantidad de análisis envolviéndolo todo como una función PLSQL.
Sin embargo, no puede seleccionar los datos después de haberlos eliminado... pero considere:
CREATE PROCEDURE s_u_d(a)
BEGIN
UPDATE tab_x SET tab_x.avalue=1 WHERE tab_x.another=a;
DELETE FROM tab_y WHERE tab_y.avalue=a;
SELECT *
FROM tab_x
WHERE tab_x.another=a;
END;
NB:también puede ejecutar selecciones múltiples en el mismo procedimiento y manejar múltiples conjuntos de resultados de diferentes formas, p. ver esta página