I'm assuming you have application A, application B, application C and so on, that are all exactly the same, except they differ by some configuration properties as defined in their web.config files.
Of course this is possible - easiest way is to set up the project as a web application, then compile, then share that dll amongst the applications. You can use the GAC is you wish.
You can set up individual sites in IIS that point to the a shared directory (or use a virtual directory in each) where all the logic sits, but you can't share the app_code folder.
EDIT
RichardOD has the best answer above, and I have implemented something similar before. Basically, I set up a custom config file that is references by the web.config (to prevent app restarts when I make changes to it). This file is read by host name, and contains specific properties on a per-host basis.
All I do is add host headers to IIS, and an entry for that host in the custom config file. Done.