If you
manually set the drive letter of the external HDD to something towards the end of the alphabet, then it will be much more unlikely that the drive letter is reserved by something else (causing a change).
calibre should remember and open to the last-used-library, but if the drive letter changes then that doesn't work.
There should not be any need to use batch files or modify the shortcuts...