No offense, but you need to understand that what you did IS illegal, and you are now just doing what ALL people before the courts do, and that is to "justify" why you broke the law. There are TONS of laws I don't agree with, but its very simple.....if I don't want to get charged, then you simply don't do it. The attitude you are carrying about this now, will certainly earn you a stiffer penalty with the courts if you carry it into there.
Even if you DO get this charge dropped (I doubt it though), you still will have difficulty with crossing border because it will remain on your record for 2 years even if they drop it. Anytime someone is charged under the CCC, it remains on their criminal record, even if the charges are later dropped, or reduced, for 2 years from that day. Question this with your local RCMP if you doubt what I am saying (I learned this personally).
Your only REAL chance of getting off this, or having it reduced, is to own that you did it, show serious remorse, and let them believe it was an isolated incident that will not repeat. Because its your first offense, they may be inclined to not want a "permanent stain" on your future.
As for your other question, YES if the officer said he could smell the cannabis, then that DOES form "reasonable grounds" for him to conduct the search, and what he found IS admissible as evidence. This doesn't matter though, because the minute you told him you had it, that gave him the right to search and seize it. Get a lawyer my friend, because you VERY much need one.