All of generation 1 & 2 can be acquired in either HeartGold or SoulSilver. However, with just HeartGold some will be unavailable.
- The 2 Johto and 2 Kanto starters (and their evolutions) that you didn't choose will be unavailable. You need to trade to get the ones you didn't select.
- Vulpix, Ninetales, Meowth, Persian, Kabuto, Kabutops, Ledyba, Ledian, Skarmory, Tediursa, Ursaring and Delibird are unavailable, as they are SoulSilver exclusives.
- Mew and Celebi are only available from giveaways, so it is unlikely you will be able to catch them.
- Alakazam, Machamp, Golem, Gengar, Politoed, Slowking, Kingdra, Scizor, and Porygon 2 require trading to evolve. Steelix can still be encountered and caught without having to evolve Onix.
- You can get all of Tyrogue and Eevee's evolutions by breeding them with a Ditto, so all 3 himonshitmons and all 5 eeveelutions are possible in one game.
This leaves a total of 3335 unacquirable Pokémon. You can consider your Pokédex complete at 223216.
Source for version exclusive lists: HeartGold/SoulSilver Version Exclusive Pokémon on Bulbapedia