As it turns out, the above code referencing tables took about 8 seconds to run, after replacing all the tables to look up from arrays/matrices then add the calc'd array to the table it now takes less than 1/3 of a second, much better.
For reference to anyone else,
t2=t{:,:};
Hrs = HourlyProfile.Hr;
Mos = HourlyProfile.Mo;
%tic
for i=1:size(HourlyProfile,1)
Gen(i) = t2(Hrs(i)+1, Mos(i));
end
%toc
HourlyProfile.Gen = Gen;