Lock part of an object so that it doesn't scale
I created the dynamic length pipe with two objects. The first object is one unit long, only large enough to house the hole at the end. The second object it just the tube, easy to change the length, via scaling or inputting dimensions.

The way I link the two pieces, is with a Child of Constraint (scroll down to the bottom of answer).
Normal parenting would influence the scale, but with a child of constraint (CoC) each of the transform operations and channels are selectable.
Add a CoC to the hole object with the Target set to the main pipe.  Uncheck all the Scale boxes.

Blend File
You will move the tube from only the large main section. However when you duplicate it, you will need to duplicate both objects.