You have alot of options in a 20g tank. Whether or not the betta will pick on the snail depends on the betta's temperament. Some do fine, others will nip at the snails antennae causing harm and potentially keeping them from eating. I think in a 20g tank its likely to work.
Although pomacea bridgesii are "messy" snails, their personality makes up for it. Typically you want to give about 2.5g per adult apple snail. As Lupin mentioned, they are sex specific to require a partner to reproduce. Females will lay clutches as part of normal reproductive health (regardless of them being fertilized) above the water line in pink clusters. These are easy to remove and should be frozen or smashed. Apple snails will leave an uncovered tank if there is not space to lay their eggs, or if the water quality is subpar. Its usually recommended to have glass tops and to lower the waterline a couple of inches (about as much as the snails diameter) in order to allow them to lay their eggs. If its not lowered, they may lay them under lights, behind filter lips, and other places where they are more difficult to find.
There are also a nice range of nerite snails available in the hobby now. I personally really like zebra nerites. They are phenomenal algae eaters and although they lay small pretzel salt sized eggs, the eggs require brackish conditions to develop into snails. Olive nerites are even easier to find.
I think that the personality of the pomacea bridgesii is unparalleled in plant safe snails. They are surprisingly active, visible, and comedic. An important thing to remember is that they require a calcium rich diet and harder water in order to maintain shell health and prevent erosion of their existing shell. Fresh veggies (blanched) are a good way to feed them. There are also a myriad of homemade recipes available as well.
adult magenta striped pomacea bridgesii:
Olive nerite:
Adult jade and gold pomacea bridgesii:
Asolene spixi (zebra apple):