1. Will plugins have a system for custom objects?
It depends: The old API only had a system to load custom models (through World3DModel class) and custom items (CustomItem class). It was possible for players to interact with custom models (and plugins could react on this interaction), but other than that, you couldn't make custom models behave like built-in objects (so it wasn't possible to create a custom chair, for example).
Custom items, on the other hand, provided a bit more freedom in this regard, since they could behave like regular tools or melee weapons. Implementing more complex items (like firearms) was a bit difficult though.
For the new API, we have plans to provide an easier way to create custom objects which behave like built-in objects (e.g. custom chairs, beds, chests etc). Same about plants and npcs in the long run.
2. If yes how it will work? Will objects be loaded from some sort of unity assets or it will be possible to load models from formats like OBJ?
You will definitely be able to load obj files, but probably we will also add support for Unity assets/prefabs 
3. Will it be possible to construct things in code procedurally or it will require manual model loading?
When talking about procedural construction, do you actually mean an API to create custom meshes (by providing individual vertices and indices)? If there is demand for such a feature, we could implement that 
4. Will models have support for different shaders or they will use single shader with different texture maps?
Probably the game will provide a default lit and unlit shader for custom objects/models. Objects will require a single texture, however, we want to implement support for submeshes (so you can have separate textures per submesh). When it comes to custom plants (and other things like items or npcs), the game will probably use the same shader it already uses for built-in elements (so plants support wind and snowiness, for example).
If you provide a Unity asset/prefab, it will probably also be possible to provide custom shaders/materials. However, the game uses Unitys HDRP, so it would be necessary to provide HDRP-compatible shaders in this case. Currently Unity doesn't provide surface shaders for HDRP, and authoring hand-written shaders for HDRP is extremely cumbersome, so the only "smooth" way atm would be to use shader graph.
But this could also introduce compatibility issues: Unitys HDRP is still undergoing lots of changes, so there is always a chance that a newer Unity/HDRP version breaks old shaders/materials. So when providing custom materials/shaders, there is a chance they no longer work in a future RW version... ofc this doesn't happen when just providing raw obj files and textures.
5. Will game automatically store objects data in worlds database or each plugin should implement its own system to store objects?
It depends on how the elements will be loaded: When just loading a custom model, the game doesn't store it persistently, so the plugin would be responsible for storing it in a file or database. However, when creating a custom item/object/plant through the specific API, they will actually be stored in the world database when a player places them in the world, so there is no need for the plugin to implement custom serialization.
When it comes to custom biomes: If a plugin alters the world generation, it will be necessary for the user to keep the plugin installed, otherwise the game will fallback to the default world generation once the plugin gets removed (which could result in messed up chunk borders if a custom world generation was used before). For custom objects or plants, it will also be necessary for the user to keep the plugin installed - otherwise the custom elements won't show up in the world anymore (they're still in the database though, so reinstalling the plugin will bring them back) 
tl;dr Yes, when adding custom objects/plants/npcs etc, the game automatically stores them in the world database (when a player places a custom plant or object, or when a custom npc spawns) 