Hi there!
I hear you, had some simililar issues with big sites that i've worked with.
I would go with the "highest page viewed" page to be the canonical, you should select the one that you consider serves users with the best experience or match their search intent. That said, i'll answer your questions:
- No, there is way to get that many URLs from Search Console. Through API the most I could ever get was arround 200k URLs.
- It's not that hard as "overriding" the actual canonical page selected by google... You should tell Google wich is your preferred canonical page, then G will decide whether to use it or not.
- Is always wise to go first with a canonical, so you can analyze how google reacts with that change. Then wait a little time, a few weeks and if everything went as planned set redirections.
Hope it helps.
Best luck.
GR.