firstly you can't add an oscar to a 20 gallon tank - they get too big
also if you want a supply of live fish, I would reccomend that you buy loads of guppys and mollies, because they will not eat the fry, plattys and swordtails are also easy to breed as stated before, but they have a habbit of eating their own fry, and others fry.
also danios are easy to breed and in large groups, even mixed danio groups (like zebra danios, leopard danios and pearl danios) but they will eat their eegs and possibly their fry, so you might need 2 tanks to achieve this.
as for cichlids, it would be more rewarding for you, but they will never breed enough to supply you with live food on a regular basis
if you do go for the guppys and mollies I would also add a few neons, as they will not eat the fry, and will make the tank look nice.
or if you don't wan't to use your 20 gallon tank you could add them to your piranha tank - I know it sounds stupid, but I have seen it in a couple of public aquariums, they added loads of guppys to all the tanks with large or aggressive fish, and there are so many of them they breed like, um, well, guppys. and they didn't look like they were getting massacared.
I guess it must be hard to feed all the fish in a public aquarium, so it must be the main food scource for the piranhas and other preditory fish.
Also I found that a good diet for baby fish is a mixture of live food like daphnia and ground up fish foods, what I do is take a small amount of all of the fish foods that I have and ground them into a fine powder using a pestle and morter, this gives the fry a varied and nutritious diet.