No, you can not catch every Pokemon in HG/SS and definitely not all "Rare" Pokemon without trading. A list of Legendary unobtainable Pokemon without trading(Not including Gen V): Arceus, Dialga, Palkia, Giratina(Though if you trade a certain event Arceus then you can unlock an event that can get an Egg for Dialga, Palkia, or Giratina), Raquaza(Unless you trade Groudon(HG) or Kyogre(SS) and activate an event), Regigigas, Regirock, Regice, Registeel, Cresselia, Mew(Though there was an event), Jirachi(Though there was an event), Celebi(Though there was an event), Manaphy, Shaymin, Heatran, Darkrai, Deoxys, Mesprite, Azelf, and Uxie. List if unobtainable Pokemon
By the way the National Dex always has spots for every Pokemon, but not all of them are obtainable.