No, there is technically nothing to be gained in terms of disk space or performance for having sequentially numbered 'p-named' expressions or even low numbered ones. The 'gaps' in the name sequence are just that 'gaps', but they not taking up any 'space', it's just a number.
A classic example of this is creating one of the new Hole features introduced in NX 5.0. When the user selects the Hole function the software does not yet know for sure how many expressions is going to be needed for the feature since there are so many possible combination of options and characteristics, some of which will require more expressions to capture the parameters than others so a sort of 'worst-case' assumption is made. So what happens is the system checks to see what is the last expression 'p-name' that has been assigned in this part file and then starting with the next number, the software 'sets-aside' the maximum number of expression names which could possibly be needed if you ended up with the most complex (or at least expression 'heavy') hole configuration. Now once the hole is created and the actual needed expressions are created, the system does NOT perform an automatic recovery of all of the 'p-names' which were pre-assigned temporarily but then were unneeded. They just get 'deleted', but their 'p-names' are also lost since the next feature will take whatever the NEXT unused 'p-name' is on the stack. It may sound like a poor approach, but since there is no penalty to pay, other than something which looks odd, why should we WASTE compute cycles for something which is NOT going to gain us anything in the end. Besides, what happens when you open a part file and start deleting features you created yesterday? What do you do with all of the expression names which have been deleted when the feature was deleted? Granted, I guess we could look at all of 'gaps' in the 'p-name' sequence of used expressions and try to reuse them, but even that would require extra compute cycles and more complex code which would need to be tested and even then it still produce odd results as features with multiple expressions would end up not having sequential names anyway since you couldn't always find a string of unused names long enough to cover all that was needed so you'd have to keep going to the NEXT unused name, and so on. I think you get the picture.
Note that I'm not saying that a utility which a user could execute which would resequence the names wouldn't be handy to have as a 'housecleaning' tool, but in terms of actually delivering anything MORE than 'smaller' numbered-names with no gaps, it would be hard to justify implementing something this as part of our effort to enhance and maintain NX.
John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
To an Engineer, the glass is twice as big as it needs to be.