1)
TGUI won't interact with your database, so you'll have to just load the values from the database yourself and then call the corresponding functions to set the value in the tgui widget. But I've never worked with databases before so I can't help much with this.
2)
If you have one config file in the Data folder, then you should give a relative pathname to the images. So button would have the following property:
NormalImage = "Buttons/Image.png"
Another option would be to have config files for every type of object. So you have a config file in Data/Buttons that only contains the Button section, and you have another config file in Data/Checkboxes that has the Checkbox section and so on. Then you can just have:
NormalImage = "Image.png"
So the config files can be seperate files or a single file and they contain a relative path to the images. So it shouldn't be to hard to make different folders. The BabyBlue.conf loads different images from different folders, so you might want to take a look at it to see an example.
About the loading from memory...
This isn't supported yet. I'll look into this to see if it can be done easily. If it isn't too much work then I'll add it to v0.6 but if I would have to make a lot of changes then it will be delayed to the next version.
Edit:
Loading from memory is just not possible with the current design. The whole texture managment is build on top of the fact that images are loaded from files. So I would have to find a new design for the texture managment and I would have to change the config files to support this. I'm not even sure if I will be able to add this to the next version.