I read the goal as "to retrieve the values via both the number index corresponding to their postions and the meaningful keys"
Retrieving a subexpression via index is what Part (the double brackets) does.
But, if you want "uniform access" exactly, maybe you could use Dataset:
BasicVectorsData = Dataset[Take[BasicVectors, 14]];
Now you have:
BasicVectorsData[1] == BasicVectorsData["TricPrim"]