The straightforward answer to your question is simple. format has nothing to do with jsonencode, it only affects display at the matlab command prompt. I'm not sure why you thought it would affect jsonencode. Nowhere does it say that.
As for your problem, the json specs does not specify how numbers should be encoded as text in the json, so matlab is perfectly within its right to encode the way it does. Note that 122323259857567 and 1.223232598575670e+14 are exactly the same number, so a conformant decoder that can decode numbers of that magnitude (not guaranteed but very likely) will decode them properly.
Now, there is a way to force matlab to write integers less than 18446744073709551615 without using scientific notation by converting them to uint64, but again, there is nothing wrong with the way matlab currently encodes the numbers.
>> university.department.EEE.studentID = uint64(122323259857567);