Cita: Alguien sabe como es el tema de recibir valores que devuelven los select a variables internas?, porque tengo entendido que con set @var = query se puede.
Eso es válido sólo en los DBMS que tienen definidos tipos de dato ROW o TABLE. No es el caso de MySQL que no los tiene.
En sí, lo que quieres hacer se puede hacer, pero los algoritmos son diferentes.
No te olvides: MySQL no es SQL Server ni tampoco es Oracle. No existe un único lenguaje de procedures, porque no existe un estándar. Cada DBMS implementó lo que quiso.