Para que el reguero sea con orden, yo haría eso solo para usuarios registrados, y una vez if (is_user_logged_in) : ... veo como manejo la cosa.
Se me ocurre un sistema de sesiones o algo así, que guarde la configuración del usuario y la muestre una vez logueado. Tal vez hacer campos personalizados (y ordenar la query por ahí) para cada uno sería algo pesado para la base de datos, pero eso depende mas bien de la capacidad del servidor y la cantidad de tráfico que se genere, creo...
Y para que quede como bonito lo haría con drag & drop