Jaime,
Based on your last response, I seems that your question is one of creating the right structure and not trying to reduce the computation. If that is the case then you can restructure your data as follows:
In[1]:= xvect = {1, 2, 3, 4, 5};
yvect = {11, 22, 33, 44};
tmat = {{111, 122, 133, 144}, {211, 222, 233, 244}, {311, 322, 333,
344}, {411, 422, 433, 444}, {511, 522, 533, 544}};
In[4]:= ts = Flatten[tmat]
Out[4]= {111, 122, 133, 144, 211, 222, 233, 244, 311, 322, 333, 344, \
411, 422, 433, 444, 511, 522, 533, 544}
In[5]:= xys = Tuples[{xvect, yvect}]
Out[5]= {{1, 11}, {1, 22}, {1, 33}, {1, 44}, {2, 11}, {2, 22}, {2,
33}, {2, 44}, {3, 11}, {3, 22}, {3, 33}, {3, 44}, {4, 11}, {4,
22}, {4, 33}, {4, 44}, {5, 11}, {5, 22}, {5, 33}, {5, 44}}
In[6]:= data = MapThread[{#1, #2} &, {xys, ts}]
Out[6]= {{{1, 11}, 111}, {{1, 22}, 122}, {{1, 33}, 133}, {{1, 44},
144}, {{2, 11}, 211}, {{2, 22}, 222}, {{2, 33}, 233}, {{2, 44},
244}, {{3, 11}, 311}, {{3, 22}, 322}, {{3, 33}, 333}, {{3, 44},
344}, {{4, 11}, 411}, {{4, 22}, 422}, {{4, 33}, 433}, {{4, 44},
444}, {{5, 11}, 511}, {{5, 22}, 522}, {{5, 33}, 533}, {{5, 44},
544}}
Is this what you wanted?
Regards,
Neil