First, NEVER store data in multiple variables like this. Instead, LEARN TO USE ARRAYS. There is no reason why you cannot store all of your vectors of length 2 in one array, of size Nx2.
So I will assume all of your data lives in one array of that size, and use that storage method to show how to solve the problem, if possible. I'll call the array Vecs, mainly because I'm too lazy to be more creative.
Vecs = round(rand(100,2)*200 - 100);
You have integers in your vectors, so now I have random integer vectors in the range +/- 100.
That just means now you want to find the vector sum that is a combination of two rows of that array? Remember that if you have N vectors, then there will be n^2 such combinations. We can allow or disallow duplicates easily enough.
vecSumLen = sqrt((Vecs(:,1) + Vecs(:,1)').^2 + (Vecs(:,2) + Vecs(:,2)').^2);
[minlen,ind] = min(vecSumLen,,'all','linear')
[rind,cind] = ind2sub(size(vecSumLen),ind)
So, if I allow replicates, the best shortest vector sum was combination of vectors 77 and 51. As it turns out, replicates were not actually a problem. But in case that is a fear, I would just add a diagonal matrix with inf on the diagonals.
vecSumLen = vecSumLen + diag(inf(size(Vecs,1),1));
Now when I apply min to the result, there is never any fear we will choose a replicate.
Note that I could also have computed the pairwise matrix using tools like pdist2, from the stats toolbox.
Your question was to also list all possible lengths. That is easy, as it is just the array vecSumLen.
Finally, be careful, as if you wanted to compute the set of 3-wise sums, there are now N^3 such possible combinations. this will get large fast. Still not that hard, but the set of all such combinations will get big. The solution will be to generate a matrix of size NxNxN, thus all such combinations.
n = size(Vecs,1);
vecSumLen = sqrt((Vecs(:,1) + Vecs(:,1)' + reshape(Vecs(:,1),[1 1 n])).^2 + (Vecs(:,2) + Vecs(:,2)' + reshape(Vecs(:,2),[1 1 n])).^2);
[minlen,ind] = min(vecSumLen,,'all','linear');
[rind,cind,pind] = ind2sub([n,n,n],ind)
Vecs(64,:) + Vecs(1,:) + Vecs(1,:)
So, it turns out that if we will allow repeats, the three way pairing [64 1 1] yields exactly a vector length of 0. If we wish to kill off the repeats, we need to be more careful. Still doable though in much the same way as before.