depedns on what the application is, how large it is and so one
how many users
of course you could design your code so its modular, use OOP techniques and subclass the actual deb interface to a specific class. that would allow you to target any user and any database storage method.
theres two main types of storage mechanism server and file based systems
the file based systems such as JET (more commonly known as Access), Filemaker and the new boy on the block SQLLite are fine for small numbers of concurrent users. SQLLite has the potential advantage that fewer desktops will have the tools to directly read data, where as vast numbers will ave that capability in Access.
the server based systems require more maintenance, higher degree of skill and familiarity but are more flexible, but that comes at a price.
as to best language for freelancing, although there will continue to be a market for VB6 I think its dead or dying, within the Microsoft house there's
VB.NET & C#.NET (well if truth be told any of the .NET languages. if you are havign to retrain then you may want to consider JAVA (and that could bring the embedded DERBY db into play).
OR you may care to choose to go down the 'cloud computing' idea which may ential more knowedge of HTML, CSS & AJAX and so on