ASP.NET is a web technology which is 'pull' only. A webserver can't 'force' your browser to browse it cos there's an urgent appointment to be seen.
Where are the appointments stored? if in Sql Server you can use SqlServer Agent to poll for appointments and email alerts to users.
Or you will need to create a little app (in VB or C#.NET) that the users can download from your site; that runs in their system tray; has a local copy of appointments in a file; and alerts them when neccessary.
I am not sure whether you have experience using the Microsoft Outlook Web Access, I feel that Microsoft has implemented that feature without using the little app (as you suggested) to pop up notification/reminder to user.
I believe ASP.NET should have ways to implement this feature and I really appreciate if you have idea how Microsoft implement it.