If the order is not important:
i = gensub(/(.*_seq).*/,"\\1",1,$1)
$2 > _[i] ? __[i] = $1 : __[i]
$2 > _[i] ? _[i] = $2 : _[i]
for ( i in _ )
print __[i], _[i]
This also assumes there are not negative numbers in the second column, otherwise you have to add an additional conditional expression
to check the existence of an array element with the same index.
In practice, at first you remove the number at the end of the first field and use the first part of the string as index of the arrays (this ensures equality of the first fields, except for the last number).
Then the conditional expressions check if the second field is greater than the value previously stored for the same element (if any) and act accordingly, by assigning the new value if the condition is true or retaining the previous value if the condition is false. Note that I used two arrays __ and _ in order to store both the first (unchanged) field and the value in the second field respectively. Hope this helps.