40l = 10g
That should house all those fish comfortably, yes. You still need lots of cover; your betta isn't reacting more aggressively than expected, so that's okay, but remember that he is still a betta and if he attacked and those guppies had nowhere to hide, they wouldn't stand a chance.
Live plants will take care of a lot of bioload as long as you get fast-growing stem plants and floaters, and enough of them. That means water wisteria, frogbit, ludwigia, bacopa, water sprite... that sort of thing. It helps enormously if you pick up a little bottle of Seachem's Flourish.
However, since you're buying a new tank, live plants aren't a necessity. You can put the betta in the 10g tank safely (don't worry about it not being cycled--his bioload is pretty insubstantial when he's all by himself in a 10g, so he's not going to get ammonia poisoning). That means you have enough buffer time to test out some store-bought ornaments if you'd rather have them than plants.
Personally, I'd get plants--I love plants in tanks, because they make the water parameters a lot safer, they look really nice, you don't have to worry about them not being aquarium safe, the fish love them, and they grow and reproduce so you get more than what you originally paid for. They get expensive in big tanks, but so do normal ornaments, and you may waste money on normal ornaments if they end up not being safe.
The only time they're not a good thing is if you don't take care of them. In that case, they may die, decompose, and add to the ammonia in your tank. Not good.
So always look up plants you want to buy before you get them and make sure you have what they need. Otherwise, you may find that you've bought a plant that's likely to die on you, because you don't have, say, CO2. Or because it's not fully aquatic. (I did that with peacock ferns. Got home and looked them up--they're not fully submersible.)
Anyway, I just realized it's almost 3:00 in the morning here... I've got to sleep, but I've subbed to this thread for you and am keeping an eye out for your questions ;-)