From what i can tell you just get them as you go from looting, surviving and killing. They refresh every 24 hours and are spent towards exp as far as i know. They “rank up” as you go and i assume that will determine how much experience you get.
According to a Fortnite Help page about gifting:
If you’re trying to gift an item to a player who already has that item, gifting will fail.
However, the same page states Battle Passes aren't able to be given as gifts.
It's the match ID.
Every player in a match will have the same match ID.
If you and a friend end up in a match with the same ID, that means that you'll be able to interact with each other (ie. same match ID in Solo means your friend will be able to see you and interact with you as an enemy, as opposed in Duos/Squads/Team Rumble where they will be a ...