Bala - no - 100G+ really, large fish, strong swimmers need plenty of space, easily stressed, need a good group and grow to 10"+... that's a LOT of fish.
Rainbow - no - 40G+ highly territorial and very aggressive when they want to be, particularly if other fish are in their territory which in a 20G will be the whole tank
Nope, bala sharks will reach about a foot long and should really be kept in groups.
Rainbow sharks grow to about 5", so it really depends on the dimensions of the tank, but I'd say no as they can be fairly active fish that appreciate swimming space.
exactly people at our school thought that it would be so cool but they put one of each in a twenty and are still getting more i told them it was to small but they don't listen because i haven't been keeping fish since i was 5.