Voilà un truc bricolé vite fait. Dans la vraie vie, il faudrait évidemment rajouter les gardes-fous d'usage à coup de `\ifcsname`...`\endcsname` pour voir si la table est déjà définie lorsqu'on l'affiche et lorsqu'on y ajoute un truc.
*Edit* : le `\begin{footnotesize}`...`\end{footnotesize}`, comme tout environnement de changement de taille de fonte, n'est pas recommandé dans la vraie vie. En fait, cet environnement sert juste à s'assurer que la macro `\check@tabname` ne se trompe pas de `\end` : elle ajoute bien le contenu supplémentaire avant le `\end{<x>}` (ou `<x>` est l'environnement de tableau spécifié après le premier `\begin` dans `\newtable`) et non pas avant le premier \end qu'elle rencontre.
\documentclass{article}
\makeatletter
\def\gob@tonil#1\@nil{}
\def\newtable#1#2{%
\expandafter\def\csname tab@@#1\endcsname{#2}%
\def\find@tabname##1\begin{%
\afterassignment\gob@tonil
\expandafter\def\csname tabname@@#1\endcsname
}%
\find@tabname#2\@nil
}
\def\showtable#1{\csname tab@@#1\endcsname}
\def\addtototable#1#2{%
\let\collect@tab\empty
\def\check@tabname##1\end##2##3\@nil{%
\def\close@envname{##2}%
\expandafter\ifx\csname tabname@@#1\endcsname\close@envname\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
\csname @\expandafter\ifx\csname tabname@@#1\endcsname\close@envname first\else second\fi oftwo\endcsname
{\g@addto@macro\collect@tab{##1#2\end{##2}##3}%
\expandafter\let\csname tab@@#1\endcsname\collect@tab
}
{\g@addto@macro\collect@tab{##1\end{##2}}%
\check@tabname##3\@nil
}%
}%
\expandafter\expandafter\expandafter\check@tabname\csname tab@@#1\endcsname\@nil
}
\makeatother
\begin{document}
\newtable{matable}{% définit une table
\begin{tabular}{|c|c|c|}\hline
1 & 2 & 3\\\hline
foo foo\begin{footnotesize}minus\end{footnotesize} & bar & baz\\\hline
\end{tabular}}
Voici "matable" : \showtable{matable}% l'affiche
\bigbreak
\addtototable{matable}{valeur 1 & valeur 2 & valeur 3\\\hline}% ajoute une ligne
Voici ma table : \showtable{matable}
\bigbreak
\addtototable{matable}{\multicolumn{2}{|c|}{truc 1\begin{footnotesize}minus\end{footnotesize}} 1} & truc 2\\\hline}% ajoute une autre ligne
Voici ma table : \showtable{matable}
\end{document}