ok to your first question about a loading screen.. here is how you do it..
1. make a new scene and call it whatever you want "loading screen" or whatever
2. open a layout (doesn't matter which) and click anywhere that isn't an ojbect (empty space)
3. look to the left and you'll see in the list of layout properties a "Project Properties" and view underlined.. click it
4. look under Project Settings and below that you'll see "First Layout". This is where you select your loading screen to be the first thing to load rather than what you have currently.
Once you have your loading screen doing what you want it to do, you would use "go to layout" in that event sheet to get back to your game scene.
as for a loading bar, there is a default one that you can set.. its a little lower in the same project properties.. look for "Loader Style". I like to use "Progress Bar Only" as this de-brands the C2 logo from the preloader screen..
Anything more is probably more work than needed honestly. If you want to talk about profits, one thing you need to keep in mind is to learn how to make your games quick. Don't get caught up in the details that don't pertain to your game any more than you have too. Sure the deeper your game gets and the more epic the more you might raise the bar of other things, but for causal games, I wouldn't get too concerned about making custom preloader bars.. not that they are probably
as for the 2nd profile thing, basically what you need to look into is "webstorage" which is where you save data as a cookie to your browser.. the good news is that this storage system carries over to mobile devices from what I've seen. Its not a database like you're thinking, but it is a way to store various information and then retrieve that information.. I've not used it as extensively as your idea would require, but i it would still server the purpose.
As I read more though about what you have in mind, you might need to also look into using some tables of information which can be done as well although I'm not experienced in that stuff.. but imagine you have a table with all of the possible items and an ID system.. then all you track is if any one of those upgrades are "on" or "off" and then appear when turned on by a store bought action..
I'm not a senior developer, I'm asking plenty of questions for my games as well. It's good to take a game and build on it, but also don't be afraid to sometimes start over if your scope grows too much. sometimes the game you start with can hold back the game you want it to become later due to how you structured things.
Also one last tip that is off topic but if you're new, you might not know about it. When I started my first serious project, I had all my logic in each layout event sheet that pertained to that layout.. What you can do is actually bundle specific code for specific things into specific event sheets.. then the main event sheet associated with a given layout you're in you can "include event sheet" and add all of those
I also found it nice to put all of the global vars in a "vars" event sheet to keep them all in one place.. this is really good for making changes easier.. for example.. if you have a custom mouse.. and it had mouse over effects and such.. could all be in a "mouse" event sheet. then if you ever want to make changes to the mouse, you go there and it effects how the mouse behaves everywhere.. vs putting the mouse logic in each event sheet.
Good luck!
Caleb