OP asks for "without touching my existing Ubuntu install." If you want to boot from your external device, not just install Ubuntu on it, you need to work around an installer bug which rewrites your boot partition on your internal drive and does not install an EFI boot partition on your external device, no matter what you tell the installer.
Here's what works for me in Ubuntu 18.04, 18.10 and 19.04.
Tested onThinkpad T480 & P50, dual boot Win 10 & Ubuntu. I have turned off legacy boot. UEFI is 100% in use. I have installed Ubuntu & the boot-loader onto USB sticks and drives at least six times using my solution.
Installing onto a second drive is a pain because the ubuntu installer uses the first EFI partition it sees, which is the one on the internal hard drive, regardless of any attempt you make to specify an alternative location for the EFI partition. So when you try to set the bootload device to your target USB drive, you are ignored. It's a fairly old bug, but as we head into 19.04 release, still present.
Summary: To workaround it, disable the internal EFI partition by using gparted to edit its flags immediately before beginning your install. Then the installer won't find it, and the bug is not tripped. Later, re-enable the flags. This is a trivial step. It is almost the logical equivalent of physically disconnecting the internal drive, which for sure also works around the installer bug.
The steps I took:
Before you start the install:
You'll need a standard ubuntu live USB device, and a target drive to install to.
Boot into Ubuntu live USB in the "try first" mode.
Using gparted (you may have to install it first, sometimes Ubuntu doesn't include it on the live disk, although it is included in 18.04.1): ...
- re-partition your target external drive with a GPT partition table.
Make a 500MB partition type FAT32. You may as well also set up the desired partition(s) for your Ubuntu install. You may find it handy to label the desired / partition because when you install you will have three drives: your internal drive, the live image installer drive, and your target drive.
After applying those updates, change the flags on the small 500MB partition you just created. Right click on the small partition, and Manage Flags. These changes are actioned immediately (but note, you must actually create the partition first by completing the previous step)
Tick to turn on boot, esp and hidden.
You have booted with a live-disk USB image, as per a normal ubuntu install. So you have two USB devices: your target device, and the live-disk USB drive.
Edit the EFI partition flags on your internal drive and untick those same three flags that you set on the target device EFI partition.
Here is a short video doing the flag editing in gparted: https://youtu.be/sdgrmylH6pc
Now, when you install, the installer will see only one EFI partition, on your target device. This is the novel step which I haven't seen documented elsewhere.
Begin an ubuntu install. Proceed until you see the disk setup tab of the installer. You want the fully manual approach of course, "Something else" on the partitioning stage.
If your target drive is mounted as sdc and the EFI partition you made is sdc1, then you will be installing the boot loader onto device sdc, and the EFI partition will be sdc1.
Scroll to find that partition. It should say "efi" in the Type column. Click "change" to be sure: The installer should say "Use as: EFI System Partition". You won't actually be changing anything. No need to format it.
As you scroll through the partitions, review the Type column. There should be no EFI partition on your internal drive, since you turned off the partition flags on your internal drive EFI partition. Of course, the partition still shows up as a FAT32 partition. That's ok.
You will also see the EFI partition of the live disk you booted from to do the install, that's ok.
Mount your desired target partition for / (sdc2, perhaps) and do a normal install.
Restore flags on your internal EFI partition
After the install, reboot to the new installation. You will need to use your BIOS "select boot device" option. On my Thinkpads, F12 is the shortcut to this part of the BIOS menu.
You should see several choices in the boot menu, and one of them is the external drive. Some bios menus show the default label as 'ubuntu' so it's a bit confusing to see it more than once. Sometimes changing the boot device causes the BIOS boot to restart (it does on my Thinkpad), it looks like something bad happened, but it's ok.
Later when you boot without your USB stick, the bios should be smart enough to revert to the last known good EFI device (your internal device), but you may need to reselect an EFI boot choice manually.
Tip: relabel the USB boot entry to avoid duplicate 'ubuntu' entries
If you get duplicate EFI boot options labelled ubuntu, you can fix it.
Relabelling EFI menu options is very handy, but a bit tricky.
Make sure you boot into the installation on your external drive, then
sudo efibootmgr -v
You are booted from the first row in the list.
Note the name of the file used to boot, and note the number of the partition.
my output for the first entry is:
HD(1,GPT,...) .... File(\EFI\ubuntu\shimx64.efi)
and then have a look at this thread: https://www.kubuntuforums.net/showthread.php/68851-Labels-on-UEFI-Boot-Entries-using-efibootmgr-L
I did this to relabel mine 'owcUbuntu':
efibootmgr -c -d /dev/sdb -p 1 -L owcUbuntu -l \\EFI\\ubuntu\\shimx64.efi
knowing that the boot drive is sdb and since I made the EFI partition first, the value of the -p argument is 1. Note: please check what your actual boot disk is :) use gparted or df
Some "weird" things. Done right, this process won't touch your existing boot loader on your internal drive. However, when you have the external drive attached and are booted normally from your internal drive, grub updaters will detect the ubuntu installation on the external drive and add it to the list of bootable choices. This can get a bit confusing, but relabelling the boot entry (above) is helpful