I want to make add-ons to my games, but I don’t want them to be updates because I want it to be paid for. I just want to know can it and do I have to do anything with code and where do I put these files in my games directory.
To answer the question, no. Scenes and scripts must be compiled in order for Unity to use them. However, they do not need to be included into the distributed executable. Using AssetBundles, Unity can dynamically import content from arbitrary files. Note that AssetBundles are a Pro-Only feature.
I know of no other way to do what you are looking for except to just disable features until addons are paid for.
Like rabbitfang said Assetbundles are the preferred way to load other things at runtime. However if you have a standalone build you can provide some kind of "managed plugins" since you can load assemblies at runtime. That's not possible in the webplayer of course.
For all other assets you can use your own "format" that you can load "manually" at runtime. e.g. load vertex data from a file / web, create a Mesh procedurally and setup everything yourself by script. This even works with Unity Free but is not as trivial and powerful than using assetbundles ;)
Even with assetbundles it's a bit tricky to design new scripts in a way they work together with the old application.
I never tried to "import" new MonoBehaviours manually. I guess AddComponent might have problems to recognise the new classes.