When a 7 is rolled, and a person has more than 7 cards, do the cards get discarded randomly or does the card holder get to pick which one(s) to discard?
No, the card holder chooses.
From the rules, page 11 (emphasis is mine):
Each player counts his Resource Cards. Any player with more than 7 Resource Cards (i.e., 8 or more), must choose and discard half of them.