`tabularx` verwendet in der Voreinstellung für `X`-Spalten eigentlich `p{<breite>}`-Spalten (nachdem es die nötige Breite `<breite>` berechnet hat). Festgelegt ist das laut Dokumentation durch
\newcommand\tabularxcolumn[1]{p{#1}}
Die Doku erwähnt auch explizit, dass man diesen Befehl umdefinieren soll, wenn man etwas anderes möchte. In Deinem Fall wären das `b{<breite>}`-Spalten, also
Wie Du festgestellt hast, werden `p{}`-Spalten so ausgerichtet, dass ihre oberste Zeile die gleiche Grundlinie hat, wie benachbarte Zellen. Es gibt aber auch noch `m{}`-Spalten, die zentriert zu benachbarten Zellen sind, und `b{}`-Spalten, deren letzte Zeile die gleiche Grundlinie haben, wie benachbarte Zellen. Was Du also brauchst, ist
\renewcommand\tabularxcolumn[1]{b{#1}}
Und damit sieht es denn auch so aus, wie Du es möchtest:
![alt text][1]
----------
Bist Du sicher, dass Du das Verzeichnis von Hand erstellen möchtest? Ich habe den Verdacht, dass man das auch ohne `minitoc` automatisiert machen könnte, ohne allzu viel Aufwand betreiben zu müssen.
müssen. Wenn Du uns ein bisschen was erzählst, was da alles hinein oder nicht hinein soll, am besten zusammen mit einem Minimalbeispiel, dann können wir Dir bestimmt eine automatisierte Lösung bieten.
[1]: http://texwelt.de/wissen/upfiles/tabularx_2.png