Most solar charge controllers are for 12-24v lead acid batteries, and I suppose that yours is also intended for this process. Therefore, you can use pretty much any 12v-24v lead acid battery you choose.
If you want a battery that will be able to power your raspberry pi throughout the night as well then a proper sized battery must be picked.
A Raspberry Pi uses around 700mA maximum, but to be safe lets assume it will draw 1A at 5v. Since we are most likely going to be using a 12v battery, we need to figure out how much current it will draw at 12 volts, which turns out to be 0.42 amps. Assuming the solar panel is only on 8 hours a day, we need to have a battery for the other 16 hours. That means we would roughly a 7Ah battery which are pretty common. (If you have questions about the calculations then comment, because I don't know how to use the equation thing on this site)
Next is to check that the amount of sunlight that your panel gets daily is enough to power the pi and battery for the night, again to be safe let's say 8 hours. Since your panel is 12v and 20w, it gives out about 1.7 amps. Subtract the 0.42 amps for the raspberry pi current and there is 1.28 amps left over for charging the battery, over an 8 hour period, it will put in 10.24 amps. This should be more than enough and it gives headroom for cloudy days and winter.
So in conclusion, you should use a 12v 7Ah lead acid battery hooked up to your solar system and regulator, which will allow you to run your pi 24/7 with a bit of headroom for inefficiency and weather conditions.