Is there a way to get the public key of a given wallet.dat to check the balance in the blockchain to avoid having to install the wallet and read all blocks?
First of all, a
wallet.dat file does not contain a single public key; it contains multiple keypairs. You can use PyWallet as Meni says, but if it's too technical for you, you can install the wallet but don't have to download all the blocks. Your public keys will show up under "Receive coins" (even if the blockchain is not downloaded), and you can copy each of them into Blockchain.info to check the balance of each address. Adding them all up will give you your total balance.