Folks, since this has been discussed extensively on this and other threads, I thought I'd share my experience buying CanadaPost label from the US using US credit card. You're all correct that the link provided by CIC doesn't let you pay with the US credit card. There is a workaround.
1. Create an account on CanadaPost website (Venture Program). I can't post the link here, but you can figure it out, I am sure
2. Once you sign-up, CanadaPost will send you your customer number: 000XXXXXXX. You will need it down the road when purchasing the label.
3. Log-in to CanadaPost to to purchase the XpressPost label with any credit card outside Canada. Choose an option EST (Electronic Shipping Tools) and choose "Send to USA." You will obviously want to send it to yourself, so just type your address in the recipient tab. For the return address, you will fill-in the CPP address (this will show as the sender address on the actual label).
4. You will need to use your customer number in the "shipped by" tab.
The cost of the label is 29.47CAD + tax, so I was charged 32.27CAD
If this gets too complicated, call CanadaPost 1-800 number. They should help you if you tell them your customer number. I was also told that XpressPost label can be attached to any envelope, so this is probably why CIC has not asked for XpressPost envelope if you have a US address. Good luck!