RPC sendmany with multiple accounts? It seems that I can do sendmany(fromaccount, {address:amount,...}) which can have multiple outputs with one account, and sendtoaddress(bitcoinaddress, amount) can have one output with any amount of accounts. Is there a way to have multiple outputs with any number of accounts? I have small amounts of bitcoins distributed amount different accounts and I would like to put them in one transaction to minimize fees. It's odd that there is no rpc call for such a function, or am I completely missing something? Or is there a work around I can do?
Accounts are purely a client-side feature. It's just a virtual balance, allowing you for example to maintain a balance for different users of your wallet.

All coins in a wallet are always shared among all accounts, so the 'from account' field does not influence the actual transaction created in any way, or which inputs are used for it. It simply changes which virtual balance the amount is deducted from.

If you really are using the accounts feature (unlikely, it's only useful for a limited number of use cases), and really need to send 'from' different accounts, use the move command (which is local only, and doesn't construct any Bitcoin transactions) to move amounts from one account to another to correct before or afterwards.