A1: Yes that's fine, you can delete the bdb/ folder and it's sub-folders, see below.
A2: These are transient storage files used by the Berkeley DB engine, which Listener uses internally. Each startup of Listener (since 2.0.2) creates a new temp folder under the bdb folder to store it's transient data. Also when starting up Listener will attempt to clean up any existing folders under bdb, that do not have an open file within.
Previously in 2.0.1 and earlier all BDB files were stored directly in the bdb folder. This causes complications when attempting to run Listener in a clustered environment. If all the nodes shared the same configuration folder, then only the first node started in the cluster would work, because BDB needs an exclusive lock to it's data files, the first node would get this, and then the all other nodes would fail to obtain the lock and become non functional.
So if you were using Listener 2.0.1 or earlier in a clustered environment the advice was to give each node its own configuration folder to avoid this problem.
Now since Listener 2.0.2 the best practice is the opposite, if you are running listener in a clustered environment and all nodes connect to the same database(s) then each node should point to the same configuration folder (e.g an NFS folder share, with write access). This gives the advantage of it being easier to maintain consistent configuration across all nodes.