I think "algae eating fish" is kind of vague. Most plecos don't eat algae as their whole diet, most catfish don't! You could do pleco in a 20g like a bristlenose. Corydoras will do well but make sure theres more then just algae in their diet!
Check this pinned thread in the plec section though, on plecs under 8". There's quite a few to choose from that are 4-5" if you want a smaller one. Some might be harder to find than others though http/www.fishforums.net/index.php?showtopic=132656