Il y a probablement une manière de réaliser cela sur les posts d'origine, mais le mieux c'est de créer un custom post type.
Lors de l'initialisation de celui-ci (register_post_type), tu dois définir les paramètres.
L'un deux se nomme hierarchical. En le passant à true, il adopte le comportement hiérarchique (qui est par défaut adopté par les pages) et te permettra lors de la création d'un nouvel élément de lui attribuer un parent, ainsi qu'un ordre (il me semble).
Dans ton template, tu pourras afficher la liste des enfants s'il y en a, en te référant à la fonction get_posts dont l'un des paramètres est "post_parent" et auquel il convient de passer l'ID du post actuel.