I agree with loologyyy that it is very possible to do this and do so without loosing data but it must be done carefully. The first thing you need to do is identify how much free space you actually have to work with and where it is located.
sudo fisk -l will list the partition tables of each drive on your computer (have the external plugged in and mounted when you do this. Next you need to determine the filesystem of your external drive (this is likely NTFS if windows can read it, or ext3/4 if you made it via Ubuntu).
Open GParted from your live USB and shrink the partition of your external HDD by selecting the external HDD from the device list in the upper right; then right click the partition in the list and click 'grow/shrink/move'. How much free space you leave is up to you.
If you manage to free up 4 GB (20 or so is recommended) then you can create a new partition in that space by right clicking and selecting 'new'. Make it ext3 or fat32 so it stands out from the rest of your partitions.
Run the Ubuntu installer and when it asks where to install Ubuntu, select 'Something Else'. When the partitioner appears. Select your newly created partition and use it as '/'. You'll also want to format it. If you want the rest of your partitions to mount to particular places (such as Windows mounting to /media/Windows) then type those in to the 'Use as' box for each partition.
That's it. If you have questions feel free to comment.