Unfortunately that doesn't work. The first problems come from the fact that Eigen headers #include standard library headers, which are totally confused when included into a namespace. More problems would come from Eigen defining a few things in namespace std, if standard headers were previously included before Eigen was included.
Furthermore this would suffer from the same problem as the #define Eigen EigenAVX approach: types would be different, e.g. Eigen::Vector4f != avx_code_path::Eigen::Vector4f.