you can compare unsigned values of different length, there are no special requirements. The greater/less operators will treat the comparison as a numeric comparison between unsigned values.
Some developers will also compare std_logic_vectors of equal length using greater/less. The comparison is done lexically, which matches a comparison between unsigned values. But only when the values don't have 'Z' or 'X' or etc... and are of equal length.
Basically, there is no need to change sizes if the types are "unsigned". You may see people resize the values because they had issues (incorrectly) comparing std_logic_vectors in the past.