Este tipo de esto probablemente sea más adecuado para un gráfico estilo de almacén de datos. Algo parecido a cómo facebook mantiene jerarquías de relaciones.
Si está obligado y decidido a usar MySQL, probablemente podría salirse con la suya usando una búsqueda recursiva. Dado que su árbol puede tener una profundidad variable, puede comenzar a unirse a sí mismo en una ubicación determinada y 'caminar' por una rama recursiva hasta que no encuentre más descendientes. Devuelve esa rama y comienza a bajar por la siguiente. Proceso similar para recorrer hacia arriba para encontrar a los padres.