This would be very useful indeed a modifier. It could go in the stack at some place below a modifier which creates doubles, like an array which places them side by side, and merge them so that subsurf could work afterwards. It’s quite inconsistent that the mirror modifier has this option but it isn’t an independent modifier that can be used with others.
If I wanted to multiply a chunk a bunch along a curve (it has details which can’t be replaced by bevleOB) and then smooth it (set smooth) the points it joins with the previous and next pieces is left sharp.
Just a simple “remove doubles” modifier with a limit you can set would really be nice. In fact, a whole bunch of other actions should also be modifiers, such as a flip normals modifier or a push/pull modifier.