Probebly the wrong place to sugest this; but I am hopeing a developer will chance through and read this.
3 flages need to be attachted to each vertice in blender. Call them anchor x, y, z. The reason is simple. there are times when modeling that you do not want a vertice to move in one or more directions. And if you could set a flag to stop them it would be helpful in modeling.
Take for example when using alt d to make a mirrored model. after you get the two to match if you could set a flage to anchor the verts in the x direction then it would not matter if you scaled, smothed ect the verts would not move in the x direction and make holes. There must be a dozen other times I have wished that I could lock a vert from traveling along one or more axis.
Also it would be nice if the smoth routine at least took a look at the non selected verts conected to them when moving during a smooth operation.