You're mixing up accounts and addresses.
You can use sendfrom to send from a particular account, but that doesn't change which adress(es) the payment comes from. The concept of 'accounts' is purely accounting within your local client and doesn't affect the generated transactions at all.
If you want to send from a specific address rather than an account, you can combine it with setaccount.
I really think you're mistaken. 'bitcoind sendfrom' doesn't do what you think it does. It debits the specified account, but uses whichever unspent outputs in your wallet fit the spent amount best* no matter which address 'owns' them.
* for a particular and somewhat weird definition of 'best'