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, and Delibird are unavailable, as they are SoulSilver exclusives.
- Mew & 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 countered and caught without having to evolve Onix.
- You can get all of Tyrogue and Eevee's evolutions by breeding them with a ditto.
This leaves a total of 33 unacquirable pokemon. You can consider your pokedex complete at 223.
Source for version exclusive lists: https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_HeartGold_and_SoulSilver_Versions#Game-exclusive_Pok.C3.A9mon