You can write it like this:
param t {i in 1..P, j in 1..P} =
if i<j then Uniform(30,60) else if i>j then t[j,i] else 0;
This works because, when the indexing is {i in 1..P, j in 1..P}, t[i,j] is assigned for i<j before it is assigned for i>j. (So for example, t[1,2] is assigned first, and then[2,1] is assigned the value that t[1,2] already has.)