If you create a Dynamic Named Range for the column, you can always reference it by name...even if it moves.

Example:
• Select Col_E on a Sheet1
• Insert.Name.Define
...Names in Workbook: SourceColumn
...Refers to: =Sheet1!$E:$E
...Click: OK

Now, from anyplace in the workbook you can press F5 and choose SourceColumn...and it will select the SourceColumn range.
If you insert columns before Sheet1!$E:$E so that data now exists in Col_M, SourceColumn will refer to Sheet1!$M:$M.
You can also use the SourceColumn as a range reference in VBA.

Is that something you can work with?