How to typedef a template class?
In C++03 you can inherit from a class (publically or privately) to do so.
template <typename T>
class MyVector : public std::vector<T, MyCustomAllocator<T> > {};
You need to do a bit more work (Specifically, copy constructors, assignment operators) but it's quite doable.
Yes. It is called an "alias template," and it's a new feature in C++11.
template<typename T>
using MyVector = std::vector<T, MyCustomAllocator<T>>;
Usage would then be exactly as you expect:
MyVector<int> x; // same as: std::vector<int, MyCustomAllocator<int>>
GCC has supported it since 4.7, Clang has it since 3.0, and MSVC has it in 2013 SP4.