if your database is SQL Server then you might to look at SQL Notification Services. But a simple approach would be to, use a trigger to capture the changes in that table and queue the notification in another table.
Then when the user logs in to the website, you check for 'previously not shown' notifications and display them.
if you need it realtime, then u would need to start looking at push notification service like pubnub.
Thx
Sazzad
[EDIT:]
actually it depends on which situation u r using it. If it's a corporate db and u have many apps using it, i.e. no single layer of data access, then u would either have to resort to a single SP to do the insert (where u would include the audit log insert) or in trigger. Now if you are not inserting a millions of rows in a single batch, trigger performance is not that bad. Also you are really worried with perf, you might want to use async triggers. (yes there is a way to implement this in sql server). But overall if u want to keep this audit log in a table, you end up having two inserts or extra columns like u said.
I assume the column way is easier with a default value of (GETDATE()). Then everytime u do an insert it will have the latest datetime in it. U keep a cookie in users browser or somehow persist that info in a DB table or profile somewhere and compare against that date. Then everytime now and then when u render u display the new records by doing a date compare query. But other than just the datetime of new rows, if u need more information like which pc/user etc it was added from then u might end up having an audit log table.