You can use the HTTP-RPC interface on your local node.
On a default node, this is only good for the previous 5 cycles. If you want balances older than that, you need to use an archive node.
Other options are to use the API provided by most block explorers like tzstats.com ...
I'm running an archive node with the new Irmin2 backend, currently (block level 651397, October 15th 2019), it uses 37G, with 26G for the historical contexts and 11G for the blocks and operations store.
$ ./tezos-client rpc get /chains/main/blocks/head/header | egrep "level|timestamp"
"level": 651397, "proto": 4,
"timestamp": "2019-10-15T12:40:04Z", "...
Unfortunately, this is a know issue which seems to occur in a non deterministic way and there is currently no fix.
There are already several issues referencing this problem. Feel free to follow them to get information regarding an upcoming fix.
https://gitlab.com/tezos/tezos/-/issues/1679 and https://gitlab.com/tezos/tezos/-/issues/1729
You stopped the reconstruct before it was finished. Intel Core i7, 16GB RAM, 500GB SSD, took 4-5 days to complete.
Checkpoints are not "downloaded". They are made by your node, locally.
Once you complete the reconstruct, you will have access to EVERY block going back to block #1. Archive nodes will never garbage collect.
You should import a recent ...