Apricorns are found on trees all over Johto. These trees used to be Berry trees, back in Gold, Silver, and Crystal, but now they're all Apricorn trees. Once a day, you can pick the Apricorns off of every tree. Apricorns are used for making Poké Balls. In order to do this, you have to collect Apricorns, then give them to Kurt in Azalea Town, wait one day and come back for your Ball. He's in the house right to the left of the Pokémon Center. In HeartGold and SoulSilver, you can give Kurt an unlimited number of Apricorns at once, as opposed the 1 per day like it was in Gold and Silver. However, in Crystal it works the same as in HeartGold and SoulSilver.
In HeartGold and SoulSilver, you're able to get an Apricorn Box, a Key Item that holds up to 99 of each Apricorn. You can also use the Apriblender for making juice inside the Apricorn Box. You get the Apricorn Box from a man in a house at the beginning of Route 30. This is a really useful item, because it helps keep your Item bag manageable, without Apricorns all over the place. Also in HeartGold and SoulSilver, when you first get Kurt to make Balls for you, he'll give you a Fast Ball.
Yellow Apricorn - Moon Ball
A Yellow Apricorn yields a Moon Ball, a Ball that catches Pokémon that evolve with Moon Stones better. Moon Stone Pokémon
Pink Apricorn - Love Ball
A Pink Apricorn gets you a Love Ball. This Ball works better if you use it on a Pokémon that is the opposite gender of your Pokémon.
White Apricorn - Fast Ball
A White Apricorn will give you a Fast Ball, a Ball that works better on faster Pokémon.
Green Apricorn - Friend Ball
A Green Apricorn will get you a Friend Ball. This Ball makes caught Pokémon more friendly. Happiness page
Black Apricorn - Heavy Ball
A Black Apricorn yields a Heavy Ball. This Ball is more useful if used on a very heavy Pokémon.
Red Apricorn - Level Ball
A Red Apricorn gets you a Level Ball, which works better if the wild Pokémon is a lower level than your Pokémon.
Blue Apricorn - Lure Ball
A Blue Apricorn will get you a Lure Ball. This Ball is useful if used on a Pokémon that you've gotten by fishing.
That's about all there is to Apricorns in HeartGold and SoulSilver! Hope you get some cool Poké Balls from them!