[a, b, c] = deal(x(1), x(2), x(3))
I am not sure that this is "cleaner", if you do this for many variables. It is slightly slower than the direct and simple:
a = x(1);
b = x(2);
c = x(3);
deal and num2cell have a certain overhead. The code might be more compact, if you do this in one line instead of 3, but internally much more code lines are processed. I'm convinced, that the code will not suffer from additional lines, if they are such simple and clear: neither a human reader nor the Matlab interpreter will have any problems with them. Do not try to optimize the optical appearance of the code. It is more valuable to keep the code fast (to optimize the run time) and simple (to optimize the time for debugging and maintaining).