it is possible to cycle with your betta but you need to be dedicated to doing daily water changes.
Here is a thread that basically explains how to do a safe cycle..
I'm not familiar with any of the other fish you mentioned so I can't help ya there.. sorry.
edit to add.. if you try to cycle a 20 gall with only 1 betta in there it will take a really long time. You might try adding mystery snails as they tend to be "poopers" (but great algae eaters).. live plants can also speed your cycle. There may be other fish you can add but I'm not sure what they would be.