I am developing an app that calls for Windows, Mac, Linux (All will be browser plugins for IE, Chrome, Firefox, Opera, and Safari), iOS, and Android devices (native apps) to access a remote server/cloud/database to upload and download data.
They need to be able to connect to a database to send and retrieve data (multiple devices can be registered under the same account). The data will need to contain the user's username, and 40+ strings each containing web addresses up to 200 chars long.
I think what I need is an SQL server, but I'm not quite sure (I've done almost no work in the remote context, mostly local). And also I'm pretty sure that AJAX is involved.
So, what do I need, how do I get it, and how much should it cost (if it would cost anything at all)?
If I understand your question, you're looking for a way to get and store data on a database of some kind.
You're then taking this data, and then doing respective things with it on each device.
This reminds me of a talk given at Google IO this year (I'm an android guy). The google solution is called Google Cloud Endpoints.
Google Cloud Endpoints lets you provide an API for all of your applications, hosted by Google App Engine.
You mention one of your limitations is cost; An API on App Engine would fit the bill. App Engine Users get a "Free Quota" that covers all use that a young application might get.
With Cloud Endpoints, Google makes it easy to automatically generate libraries for each type of device (a .jar file for Android, a javascript library for plugins/webapps, whatever iOS would use). This should be, in theory, easy to integrate with your application.
You can also use Google to handle authentication needs, using OAuth 2.0.
Cloud Endpoints is currently under selected developer trials, so maybe I'm just dangling food in front of the starving here, but it's worth keeping an eye on.
You can run an SQL server on your local machine, like any other program. I've used WAMPserver in the past, which gives you PHPmyAdmin without any trouble (allowing you to build your data tables and enter data without all of the commandline).
This is great for testing, but when you want to actually put it into production, you're going to want to look at a webhost of some sort. (As Ryan Roberts says)
There are free ways of doing what you want, but they can be more trouble than they're worth.
You could host an API on app engine, and use the App Engine datastore. But then you have to learn how to write an App Engine API.
You could also use Amazon AWS; they will give you a free server instance that can run whatever you want it to. But then you have to learn how to do that, too.
I remember, in the past, I used one site that offered each user a free LAMP stack; granted, this was a long time ago, and it was terribly un-user-friendly, and I'm not even sure if it still exists.
In the end, you want the solution that lets you focus on your product; your time is worth money, too.
I know normally people have very specific ideas in mind when they talk about writing browser plugins; you want it to be available whenever people are browsing, and you're dealing with the pages that the user is browsing on.
If this is not the case, take a look at building a web app. A web app is coded in HTML, CSS, and javascript, and then issues calls to a server to get/set data, etc.
Best of all, a webapp can work for all platforms. Much better to build the logic once, build the interface twice (computers, and touch devices), than to build both 8 times (once for each of your target platforms), unless you have a compelling reason to do so.