Gracias Josemi y Cluster.
"Dándole a la pinza" sobre el tema se me ha ocurrido algo que quizás pueda ser más "visual" (que no efectivo) a la hora de trabajar con numerosas subcategorías (con por ejemplo 10 subniveles o más), en lugar de usar números usar texto a la hora de referirnos al predecesor, pudiendo el usuario definir (desde la aplicación escrita en php) el nombre del nivel, subnivel, sub-sub-nivel, etc.
Por ejemplo:
Nivel 1 Marca (en la base de datos el predecesor sería "ninguno" equivale a predecesor 0)
Nivel 2 Línea (en la base de datos el predecesor sería "Marca" equivale a poner predecesor 1)
Nivel 3 Producto (en la base de datos el predecesor sería "Línea" equivale a predecesor 2)
A ver que os parece
Saludetes