I have an EU 3DSXL and you can freely change between available countries as many times as you want, I'm assuming the same is true for the Americas region.
All your games from the eShop are tied to your 3DS and available to play and download at all times (obviously the eShop from the region has to carry the game, otherwise you can't redownload it), but uploaded funds are tied to each country. Say you upload 5$ to your Canadian account and then switch to the USA region. Your 5 CA$ will stay in your CA account and your USA account will show a balance of 0. If you want to use your 5 CA$ you will have to switch your 3DS back to CA.
You will probably want to set your 3DS to Canada, Alberta since they accept foreign credit cards, charge the lowest tax and you get Club Nintendo points. If you don't care about the points you can switch to Brazil, since they also accept foreign credit cards and the games are usually even cheaper. Digital versions of Nintendo's retail games (3D Land and the like) are more expensive though.
You can create your Club Nintendo account here.
https://club.nintendo.com/home.do
EDIT: Every time you change regions and check the eShop, you will have to reconnect your 3DS to your Club Nintendo account.