I have never found a Bitcoin program that I could use that I could send coins from one of my existing wallets. They all create a new wallet address and seem to have no way of "importing" a wallet.
Is this a limitation or a security issue?
You can technically import your private keys from the Bitcoin.org client's wallet.dat into Blockchain.info/wallet, and then use their Blockchain for Android app. One problem with doing that is they won't stay in synch. The transactions made later using the Bitcoin.org client will have change that goes to a new address. The Blockchain app on your mobile won't know about those change transactions and those amounts won't show on the balance in the app.
There's also a technical problem that could arise from using the two wallets this way as well. Let's say you have the Bitcoin.org offline, and do some spending using the Blockchain mobile app. Then you launch the Bitcoin.org client but before waiting for the blockchain to get caught up you do a spend transaction that happens to choose coins that were already spent using the Blockchain mobile app. That transaction will sit there forever at 0/unconfirmed because it is invalid, and the Bitcoin.org client does not (yet) accommodate (i.e., remove) invalid transactions like this.
I would like to be able to sell/use coins from my wallet as needed when I'm using my android devices.
Blockchain lets you use the web browser wallet and the mobile app and synchronizes the two wallets.
Also, Paytunia allows you to use the hosted (shared) web wallet in addition to their Paytunia mobile app (they both use the same Paytunia online account).
For convenience amounts, there is also Instawallet which has a mobile app as well (both use the same Instawallet wallet/URL):