"Is there a way to put XP on an external drive?"

Yes, It should boot if not you may need to change the Boot type in the BIOS from UEFI to Legacy, the newer machines will do it automatically - also in the BIOS, SATA Mode from AHCI to IDE.

You can use EasyBCD for a boot menu http://www.softpedia.com/get/System/OS-Enhancements/EasyBCD.shtml

You can clone the XP drive from the 2000 machine first, to an SSD if you like.

If you want to use it externally rather than in a hard drive bay, you should use it on an esata connector or put an esata pcie card in if you don't have one.

VirtualBox is another option, I think you can transfer the XP drive to a virtual drive and it will still run quick under VB.
https://www.virtualbox.org/