I don't think you can do this with variadic templates, but you can do it with the preprocessor.
I see two options. One would be to use Boost.Preprocessor:
// Definitions:
#define ARGUMENTS (T0)(T1)(T2)(T3)(Tx)
#define INSTANTIATE(maUnused, maTemplate, maType) \
template class maTemplate<maType>;
// Usage:
BOOST_PP_SEQ_FOR_EACH(INSTANTIATE, Impl, ARGUMENTS)
BOOST_PP_SEQ_FOR_EACH(INSTANTIATE, Impl2, ARGUMENTS)
Another option would be to use the X macro trick:
x.hpp
X(T0)
X(T1)
X(T2)
X(T3)
X(Tx)
#undef X
using_file.cpp
#define X(maType) template class Impl<maType>;
#include "x.hpp"
#define X(maType) template class Impl2<maType>;
#include "x.hpp"