No sé si a estas alturas ya habrás conseguido sacar algo, pero haré la primera consulta como ejemplo:
Spoiler
Cuidado: la consulta la escribo a pelo, sin testearla antes (ya que no he creado las tablas para hacer la comprobación), así que es mejor que la pruebes primero.
Encontrar los proveedores que han vendido la pieza P1 a todos los proyectos de Londres.
SELECT nombre
FROM proveedores
WHERE proveedores.s = ventas.s AND ventas.p = "P1" AND ventas.j = proyectos.j AND proyectos.ciudad = "Londres"
La idea es ir relacionando los campos comunes de las tablas que te interesan para poder "saltar" de unas a otras, y una vez allí, ir poniendo las condiciones que te interesan en la cláusula WHERE.
En otras consultas, como en la última, sospecho que necesitarás utilizar funciones predefinidas como COUNT() y SUM().
Para la segunda parte, la de los procedimientos, no puedo ayudarte, lo siento.