I think the US should play Brasil, because seriously, playing Canada to prepare for the world cup would be like going on the Adkins Diet to prepare for a hot dog eating contest.
Moreover, on a very fundamental level, the USA needs to play more games in Europe -- mainly against European competition, but I wouldn't mind seeing the USA playing Brazil there, either. Would be an interesting match, for certain. Would be great to play games there against beatable opposition, yet matches against Brazil are those that are simply invaluable for match preparation for the big games yet to come. The only down side I can see to such a match taking place is that it is entirely possible that the USA and Brazil could meet in the Round of 16, potentially.