Without knowing what kind of iMac you have, hard to know if replacing the internal is a good option for you. If really old, it's easier to DIY and off you go to ifixit. If new and under AppleCare, get thee to the Apple Store. If in mama bear land, maybe ouch.
But you can boot an iMac from a drive attached via USB or firewire, so even if you don't replace the internal you can still use it. It might not be as quick for certain things, but serviceable for quite a bit.
You do have a backup, right? Usually if you have to replace a drive it's better to either clone or migrate from a WORKING backup that you KNOW is good. The reason is that moving data from a corrupt system or drive puts corrupted data onto the new drive. Garbage in....
As for the external, I'd go with more permanent enclosure with good heat dissipation. If it's the drive you're booted into it needs more support than just a docking station to be reliable in the long run. And if you can get something faster than USB 2.0 that works on your iMac that is better as well.
Rob