1) Web or No Web, each Oracle connection has to have a Server process created at OS level and hence
for both cases there has to be a corresponding OS PID , unless u r using Application Server
connection pooling than one connection serves many sessions.

So the only problem which i can think of is if u r not using connection pooling and using single common
Oracle account for all Web connections, then how to identify which Oracle session points to which
Web connection.This is an application development issue , use dbms_session.Use this to identify.

And Port number u found on OS should be common for all connections , since it would be for listener
if u rusing Listener.

Also Why would PMON care to clear up OS hung process, it just cleans up Oracle sessions after crash/killed.