Win500 by Starrsoft will do what you want to do. You can select a range of objects - conventional or talkgroup - and rightclick on the range to receive a menu list that includes "Reassign Object IDs..." Selecting this object will open a dialog window that allows you to specify a starting object # and the increment to use to assign the new object #. The trick is that none of the object numbers to be assigned can be currently used by other objects. The entire range must be "available."
I use this extensively because I frequently select an object to monitor based on the object ID. For example, if I know my Sheriff's talkgroup is object 301, I don't have to press MAN, then navigate to the correct scan list, then scroll through the objects to find it. I can press MAN, 3-0-1, OKAY and get right to it. I generally renumber objects based on which scanlist they're in, 101-199 for scanlist 1, 201-299 for scanlist 2, etc. Because the highest object # is around 1850 (I don't remember the exact number), I get stymied by scanlists 19 and 20. Also, scanlists with more than 100 objects have to be otherwise numbered. This is high on my list of firmware enhancements I'd like to see made (allowing any object number to be used, 1-9999.
For TSYS objects, I start at 1 and go up. I typically have no more than 10 TSYS objects, and I put wildcard objects 10 above the TSYS object - Wildcard for TSYS 1 is 11, TSYS 2 is 12, etc.