Yes, you will be able to fight Giovanni in Pokémon HeartGold but only provided you have the Celebi that was distributed for a limited time.
No, Giovanni doesn't have Persian in his party in Pokémon HeartGold.
Get the celebi event.
He only appears through the celebi event
Giovanni, leader of Team Rocket?
You can only fight Giovanni if you have a special event Celebi, where if you take it to the Celebi shrine in the Ilex Forest, will activate an event where you can battle Giovanni.
Yes, you can fight the Kanto Gyms in Pokémon HeartGold.
Sorry, you can't in Pokemon Heartgold. But you can in Emerald, Ruby, Saphire and crystal.
Make all your Pokemon faint while battling Giovanni
You cannot battle Giovanni in Pokemon HeartGold and SoulSilver through normal game play. The eighth gym is run by Blue, not Giovanni, in these Pokemon versions. However, if you obtained a Celebi via a Nintendo Wi-Fi event (which has long since passed) and go to the Celebi Shrine in the Ilex Forest, the Celebi will take you through time, and you will eventually battle Giovanni.
no sorry...
in a cave in mount silver or mortar
About 10 times then you can fight your rival at certain days at the Pokemon League.