Concepts are a great place to start

I am willing to look into a server/client setup that would notify all the clients when an update takes place. I won't necessarily have access to the server computer, and the program will be able to connect to a number of different databases, whether Microsoft SQL, or PostgreSQL on Linux, so I wouldn't be able to have a server program reside in the same place as the database. I think you are going in the right direction though, perhaps I could create a lightweight client/server module in the program itself, that way for example if client1 updates the database, it could send a message to all the other clients detailing what exactly they need to refresh in their local datasets? I think it is possible to have such a module within the program that listens on a certain port, then in order to find the other clients I could broadcast a message to that port on each computer and they'd receive the message?
A timer is an interesting idea; perhaps I could set a flag in a system table or something that would have a timestamp and what was updated whenever a client updates the database. Each client could store a local timestamp when they last updated their dataset and on a timer check the system table to see if their timestamp is outdated, and if so refresh whatever needs refreshing. I guess this would require many extra requests to the database, since the timer would have to be every 5 seconds or so in order to be effective.
It all sounds good in theory, but we'll see how it works in practice. I think I'll try the client/server model first, do you have any idea how I might get started with that, or where to look to get started?
This is a requirement for my program so I'll need to have something working. It may take me some time, but I'll post back here with results when I am finished with it.
Thanks for the help!