If you opt for the train and take the bus from Wiehle to IAD, know that it's $5. Since you may be in a rush, I'd suggest I usually bring $5 in cash, as it's much faster. You pay when you arrive to the airport, and you don't have to wait for them to deal with the credit card machine if you have cash.
Silver Line Express Bus to Metrorail Station | Metropolitan Washington Airports Authority
Also:
- If you flying YUL-DCA, my guess is you are on AC, which means you'll fly into Terminal A. It's a good 10-15 minute walk from there to the train (which is nearer terminals B and C). Take that into consideration as well. There might be a bus between the terminals, but I've never taken it. If I were you, I'd just take a car unless there is a major road closure or other significant traffic issue.
- Regardless, I would avoid checking bags as bags can take a while at DCA. (Though it might be better in Terminal A. Don't have a lot of experience with bags there.)