du könntest einen eigenen columntype definieren bei dem \small enthalten ist.
\newcolumntype{C}{>{\centering\small\arraybackslash}X<{\normalsize\arraybackslash}} % centered column with variable width
du könntest sogar den Typ X überschreiben (einfach \tabularxcolumn renewen)
natürlich kannst du anstatt small im collumntype einen eigenen Command definieren, den du jederzeit veränderst (falls es nich jedesmal small sein soll). Ich hab was ähnliches gemacht
http://www.golatex.de/gefaerbte-tabellen-t4756.html
Wenn du das mit der Linie hinbekommen hast, wäre ich an der Lösung sehr interessiert.