For #1, you can do the following:
Head to IM_Data\StreamingAssets\Languages\en\JSON\Events within the folder your game was installed to. Copy dialogues.json, events.json and, optionally, characters.json. Then, go to the Editor's installation folder and paste those files into IM_Data\StreamingAssets\Mods\[mod name]\JSON\Events. That will allow you to make changes to all of the game's base dialogues and events. From there, you can add certain variables and triggers to specific dialogues in order to add new custom content that would only pop up for the player once they completed the game's main story (for example, you could create a custom dialogue, then head to one of the dialogues you have towards the end of the game's main story and add a 'Meta > Trigger Dialogue/Event' effect to one of the nodes in order to have an automatic, timed trigger for your custom content, or you could add a 'Meta > Set Variable' and come up with a custom variable such as 'playerfinishedgame = true' that could be used as a condition to trigger events and dialogues that should only happen after the player has gone through the game's main story.
And yes, in order to edit those values you'd need a .dll decompiler and some knowledge of coding. It's not impossible, I've managed to change some in-game values myself by watching a 15-minute long tutorial on Youtube and downloading DnSpy, but uploading it publicly as an installable mod wouldn't be an easy task.