I like the Lazy API
idea, which is to create a couple of addresses in advance to keep track of payment. It solves the problem of having to run a bitcoin server to be able to automatically track order payments.
To make it usable for end users, creating a couple of addresses should be easy, though. I guess making them install a script that generates them is not really viable. Making it a feature of the bitcoin client seems the most usable approach to me?
Not sure how many addresses would be required. Probably also depending on the business. Maybe hundreds, or even thousands?