The simplest solution would be to scatter the password around in memory. Don't store it as a string. Declare a set of byte variables and scatter the password among them. This doesn't make the password irretrievable, but it makes it difficult... the attacker needs access both to the computer and to your source (or reverse engineering your binary) to discover how and where the bits of the password are stored.
If the attacker has access to your system and your source, or the ability to reverse your binary, you'd be just as well off to e-mail him the passwords.
The more likely angle of attack in your scenario would be to grab the password in the act of being passed to the service than to try and assemble it from memory.
EDIT: If you want to significantly increase the difficulty of gathering the password, you could use dynamic memory allocation, as well, to prevent the bits from having a fixed location in memory. But, honestly, that's overkill... it would be just as easy for the attacker to snag the password when you're passing it to the service.