I think NBA players can choose to be paid bi-weekly or in full before the season starts. In the NFL, they paid every game.
It's negotiable when you sign a contract. Teams obviously would like to pay player's as late as possible (money earns more interest in bank/investments, or is better for cash-flow for a few teams). Smart players should want their money as earlier as possible for the same reasons. I forget exactly how much can be paid early, but I think it's 75% (so Kobe got like 75% at the beginning of the year, and then gets the final 25% in equal amounts biweekly, for example). For teams that don't have cash-flow issues, it's a way to give players a little more money in the deal while paying him the same amount for salary cap purposes, since technically that player should expect to earn more in interest over the life of the contract. Agents also like it, since they get paid earlier too.
So it's not as simple as "players get to choose", but yes, some players negotiate to get paid earlier.