I think I'm further along in my RPG than most (Courier), so I'll give a bit my input. Firstly, my game doesn't have any turn-based battles, so I have nothing to comment there other than do a good job of state management.
The main plugin that has benefited me has been rexrainbow's Z-sorter. The only reason I use it is because you can't pair sprites and tiled backgrounds simultaneously in a family, so the internal C2 method for z-sorting (for each ordered loop, send to front) won't let the player run behind/in front of tiled background objects like fences. I also don't have it sort every tick because it isn't necessary.
The game isn't tile-based, so I can't comment on that stuff, but have reusable resources. Everywhere. I have a bunch of Tiled Backgrounds (and sprites) that I piece together to make everything in the game. This reduces the overall video memory, reduces asset production for you, and has very few disadvantages.
Lighting and shadowing are important. I have a good number of overlay sprites that I use for gradients over objects as well as light halos and other effects. I also have a couple dedicated shadow layers for the cast shadows from objects. These are made of a certain number of primitive shapes, all dark blue, all at 100% opacity. Then just lower the opacity of that layer and the shadows will remain merged and more realistic. I also have shadows cast on the player and world objects by having a second set of shadows set to one of the "source" blend types so it only shows when an object or the player is present.
As for inventory, plan ahead on a creative system that doesn't result in a big, stupid list or something. Perhaps a bunch of boxes or something, but plan this ahead so you can come up with a workable solution (probably in an array) for management of it.
I keep a spreadsheet constantly for myself where I track my reference numbers for every quest, character, item, or object in the game so I can always quickly reference what I need. For quests, I have a cell in my overall array dedicated to each quest. If the value there is 0, the quest is untouched. If it is 1, that quest is active, and if it is 2, that quest is complete. Any other numbers are for multi-step sequenes within that quest. I'm quite happy with this system because it makes tracking things a breeze.
Tween everything! Everything should fade, move, slide, rotate... something! And I'm specifically talking about your UI. This goes a long way in making your game go from looking cheap to looking polished. And it's simple enough to set this stuff up early. Just get in the habit of automatically having something fade in instead of appear, etc.
Interactive music makes a very big difference if you're up to the challenge. If nothing, it solves the problem of endless repetition, but you can really immerse the players in neat, subtle ways that they might not even realize. Plenty of top games do this, but many indies do not. This really applies to a lot of games, but RPGs are well-suited since they are so state and stat-driven.
Spend the extra time getting your 8-direction animations going. People will gripe if you don't, I promise.
For speech, I don't bother with a type-writer effect because it takes more effort and rarely lines up with the player's own reading pace in any way. I opt to fade in each message one at-a-time. I simply set the text that I need, turn the text variable to "on" (which fades in the text), then wait for player input to fade it out again. If it was the end of that message, turn text to off so it stays faded out and fades out the rest of the speech UI. If not, once opacity = 0, change the text to the next block and fade it back in.
There are probably a ton more things I could talk about, but those are some non-standard things that have made a big difference in my RPG development.