If you feed an OmniPlant deathfish, for each 1 you give it, you get 3 back. I think it works 5-6 times, so you could get 10-12 deathfish out of 1.
If you have an aquarium (comes with High End Loft Stuff, or there's a couple available on the Sims 3 Store) you can put two deathfish in and they'll breed. This won't work forever, but when they stop you can put two of the offspring back in the tank and start breeding again. So from two fish, you can get a potentially infinite number.
With the food replicator, upgraded, you might be able to get 60 dishes out of one fish - there are three slots, each of which holds 10 (non-upgraded) or 20 (upgraded) copies. This won't be enough to give your immortals ambrosia once a week forever, but if you cut it to once every two weeks it'll last a good, long time.
With 10 deathfish, you can build a pond on your property and stock it with deathfish. It might be easier to fish in this pond - if nothing else the deathfish are available 24/7 instead of only late at night.
Keep in mind that there's no requirement for perfect deathfish - ambrosia cooked fresh is always Perfect Quality, replicated is always Normal Quality, but you get immortality either way.
(Edit: if you're going the aquarium route, the "offspring" fish may or may not work for Opportunities. They're marked as "bred in captivity" rather than "caught by Your Sim", and I think I recall having an opportunity for a specific kind of fish that a captive-bred one didn't satisfy.)