"We'll hopefully soon get support for (...) watch-only wallets, where you can just add addresses you'd like to track, without having their keys."
–Pieter Wuille
From what I've seen, Pieter Wuille and others included this feature in Bitcoin Core release 0.10.0, so that now it is possible to use Bitcoin Core to get the balance of whatever address just by following these steps:
1) Create a new wallet (stop the program, rename the old wallet.dat file, restart the program and it will create a new empty wallet.dat).
2) Start Bitcoin Core, and go to Help > Debugging Window > Console.
3) On the console's command line, execute the following command:
importaddress the_address_you_are_interested_in
Note that this will cause the program to rescan the entire block chain, which can take several minutes.
Then you can close the debugging window. Now the main window of the program shows two columns of balances, the first one is the balance of the normal addresses in the wallet (the ones whose bitcoins you can spend), and the second one is the balance of the watch-only addresses in the wallet. This last one is what you were looking for.
Once you are done, you can stop the program, delete or rename the wallet or move it somewhere esle, and rename the old wallet back to "wallet.dat".
Note that the Bitcoin client must have an updated copy of the entire block chain, as the default rescan=true option of importaddress doesn't accept pruned block chains, and rescan=false won't show the current balance.
I have not tried this and I'm no bitcoin expert, so take this answer with caution.
txindex
is not relevant here, as the client does not need the full index to get the balance for any given address.