Limestone will raise you hardness and Ph. Some other stones such as hematite will add harmful iron to your water. Slate is perfectly fine. You can use concrete, but it mostly contains limestone so you'll have to monitor that type of thing. I often use river stones that come in a bag from Home Depot.
Terra cotta pots are okay in an aquarium.
As far as plastic, I only use food safe types.
Driftwood or rocks that have been collected from outside MUST be boiled, otherwise you risk bringing in parasites and unwanted organisms. However, BE CAREFUL when boiling rocks because some rocks explode when hot.
Be careful using anything made for reptiles, sometimes they are treated (even plastic items).
I use silicone that is either marked "aquarium safe" or "food grade".
Glass is fine as long as it has no sharp edges. (However, don't use really old antique glass because it can contain lead.)
Lastly, there are certain types of spray paint that can be used, I think krylon is one, but others would know for sure.