Personally I think that the suitability of a tank depends more on a) water quality and b) mental stimulation than size. It's important to understand that a betta would far rather be in a 2.5 gallon, warm, filtered tank with water that's always clean and plants and ornaments to keep him happy, than in a poorly maintained cold five gallon tank with nothing to interest him.
That said - the bigger the better. The smallest in which it is possible to keep a betta healthy is one gallon or four litres, and that's with daily water changes (because it's virtually impossible to filter anything so tiny.) They are NOT an option in cold climates because they cannot be heated and bettas REQUIRE warm water. Personally I don't think a betta can really be happy in this little space because he has little swimming room. My betta tanks are approximately 2 gallons, the entire room is heated (rather than the individual tanks) and they are not filtered but I use ammo-lock and change the water twice a week so that ammonia never affects the fish (the reason we recommend filtration is to remove this ammonia - if you don't understand the nitrogen cycle I suggest you read the pinned topics in new to the hobby, they're really helpful.) My bettas are perfectly happy in these conditions. Obviously tank mates are not an option in this setup.
I'd prefer to give them more room, and the reason I can't is because I a) rescue bettas from appalling conditions in pet stores, most of them would die otherwise. And b) breed and this is the only way I can realistically house all my breeding stock as I usually have somewhere between fifteen and twenty males.
If you're going for one or two betta tanks, where the bettas will be pets (display, not breeding or rescuing) I recommend five to eight gallons, for these reasons:
- These tanks can be easily filtered. You don't have to muck around with the filter so much, as bettas are still water fish and filtration systems for smaller tanks often require considerable modification to reduce the current enough.
- More water = more stable water quality and temperature. It's easier to keep water clean in a larger tank and it reduces your workload in terms of water changes.
- Easier to heat. Some people use reptile pads under small tanks to heat them. This works but it is wasteful of electricity. It's virtually impossible to heat anything less than four gallons using a conventional heater (submersed in the tank.) It's not electrically safe, or safe for the fish, to use a 25 watt heater (basically the smallest you can buy) in any tank under 4-5 gallons. You NEED to heat your betta's tank, no ifs or buts (unless the entire room is centrally heated)
- Option of adding tankmates. In 5-8 gallons, you could consider adding 3 or 4 pygmy corydoras or harlequin rasboras. A lot of people suggest using otocinclus but I don't recommend it, as ideally they should be in 10 gallons + and groups of 6 +, and they are extremely hard to look after. Note that if you add tankmates, advantage 2 goes out the window, it's back to 40% water changes twice a week.
- The tank looks better. It's easier to create an attractive and aesthetically pleasing tank when you have more space to work with. If you want the tank as a display, this probably matters to you. Also, your fish will thank you for it.
If you get a tank of more than 8 gallons you'll probably want tankmates as a single betta tends to get a little lost in such a large space. Personally I don't recommend keeping bettas in more than a 15 gallon tank. This is because bettas are not able to be kept with the majority of tropical fish - so you take what could be a nice community tank, stick a betta in there and rule out the vast majority of fish you might want to keep. There's nothing WRONG with keeping a betta in a big tank, none at all, it's just that you wouldn't be able to have most of the sort of fish that make larger tanks look interesting. The betta would tend to get lost in there.
So in summary: Absolutely no less than one gallon. 2-2.5 gallons is the preferred minimum. 4-5 gallons is the minimum in a cold climate (when a heater in teh tank is required) and probably about the ideal size for a single male betta anyway. You need 5-8 gallons if you're going to consider adding tankmates. Larger than 8 gallons can work provided tankmates are chosen carefully. More than 15 gallons is overkill, the betta tends to get lost in this much space and having the betta in what could otherwise be a well stocked community tank, seriously reduces your fish choices.