When you input classes it prompts you for the grade, then it does all the math. For your website, I'd have people simply use their PharmCAS overall GPA, science GPA, etc and have the drop down go from 0.00 -> 4.00, or a 0->9 for the whole number, and a 00->99 for decimal.
For the PCAT you'd just need a drop down going from 0-99, and either collect just composite+writing (0-5) or have one for each subject + comp + writing.
For school, you could just do one looooong drop down with all 103 (?) schools listed alphabetically. PharmCAS does it by state->school, but that's because there are thousands upon thousands of colleges and universities in the States. Just over 100 is reasonable for a drop down.
Then you just have date field with those little calendars like you see for car rental or airline tickets. The person choses the date on the calendar and it locks the appropriate info into the date field in whatever format you chose. (ie 10/31/2007 or 10-31-07 or Oct 31 2007, etc) Instead of people indicating whether or not they have been accepted, you simply ask them to update the date fields. ie instead of Accepted? Yes/No, its Accepted <date>, if there is a date there then they have been accepted and it can say when. So you'd need dates for Initial application, supp application, interview offer, interview, accepted, and rejected. any date field left blank is simply ignored.
I hope all this made sense. Databases weren't my specialty so explaining them in laymen terms isn't very easy for me, since I may even be referring to things improperly!