I think the multi-wallet thing is really important. As well as "bitcoin pro" I'd like to see a vendor version, with multi-terminal support.
I imagine a pub or restaurant with many waitresses and several terminals. A group of people walk in, sit down and waitress1 sets up an account for them and brings their first order, noting it down on the orders page, what they had, how many etc. A second waitress at a second terminal brings up the page for table3 (or whatever) and adds additional items to it. Lastly they ask for "the check" and the waitress brings them a printed bill with a bitcoin address to pay, this should be able to receive several payments if the bill is "split" be able to receive a tip, and be able to be re-opened if, having paid, another order is made. Perhaps some people leave and pay their part of the bill, the others buy more items. Once fully paid a receipt can be printed. Lastly a completely new account can be started at table3 when a new group of people walk in. Orders should have the time and date against them as should payments. Something similar could be used by a mail order company, although in this case the customerid is not reused and may store additional info like mailing address as well. Or not as the case may be.
It is worth mentioning that most of this does not have to be "in the client", it can be implemented using the existing client hooks as a seperate application. But some form of multi wallet support in the client would be really helpful for this. But it could be a new client using the existing client code for the bitcoin part of this.
I think that a receive only switch would be useful too. After all, we dont want those waitresses siphoning off bitcoins to their home account do we. (As they would!!)
And perhaps a facility for maintaining separate tip accounts for each waitress.