% Put this in the preamble
\newcommand{\eincludepdf}[1][]{%
\begingroup\edef\x{\endgroup\noexpand\includepdf[#1]}\x}
% this can go everywhere (notice the `\unexpanded` to avoid possible problems)
\newcommand{\mylist}{\unexpanded{1,section,1,{A Title},s.1,3,%
subsection,2,{A subsection},{s.1.1}}}
% With this you include the PDF file
\eincludepdf[pages=-,addtotoc={\mylist}]{otherfile.pdf}
The reason is that the option addtotoc expects a comma separated list of values and not a macro expanding to that.
A couple of words about \begingroup\edef\x{\endgroup
This has already been explained elsewhere, but for the sake of completeness, I'll repeat here. When LaTeX finds \eincludepdf it looks for a possible [ following and, if it finds one, gathers what's between [ and ] as an argument to replace #1 (if there's no [ then #1 is replaced by nothing). So, with \eincludepdf[pages=-,addtotoc={\mylist}] the replacement is
\begingroup\edef\x{\endgroup\noexpand\includepdf[pages=-,addtotoc={\mylist}]}\x
The fun begins: TeX executes \begingroup, thus entering in a "semisimple group", and proceeds to do the \edef\x. First of all it expands everything it finds in the following pair of braces:
\endgroup is not expandable, so it remains untouched;
\noexpand is expandable, its expansion is empty and the following token becomes unexpandable;
[pages=-,addtotoc={ are all unexpandable;
\mylist is expanded to \unexpanded{...}, and also \unexpanded is expanded, which gives ... not subject to further expansion (it might contain text with typesetting directives such as \textbf, so we protect against its expansion);
}] are not expandable.
Now the meaning of \x is assigned: \endgroup\includepdf[...] and \x is expanded! This closes the group (so removing the meaning of \x) and TeX is confronted with
\includepdf[pages=-,addtotoc={<contents of \mylist>}]{otherfile.pdf}
Et voilĂ .