I'm now pushing marginal territory, so if Chip says I've got it wrong, believe him and not me.
Having said that, I would go back to my little boxes again. You have a chain of them:
1. The user, an actor outside the system who wants to create these things.
2. GUI which is the set of screens, frames, etc that the actor uses.
3. An Application Controller, which at its crudest just fires off the steps you defined in the use case.
4. Business Classes which are your Emps etc. I'll come back to this in a second.
Before continuing the chain, remember that a Database is another Actor. It can asynchronously fire off triggers. It can have the data changed by some other program running in parallel with yours etc. So dont be surprised if I make it look like an Actor and ALWAYs sepparate Actors and Business Objects with at least one layer of controller. (Robustness etc)
5. Data Controller, which marshalls the data for the database. This is where I think the SQL should go, and I think that is what Chip said.
6. Database API provided by the database provider. It takes the SQL and passes it to the database storage.
7. The Database as an Actor.
Now to return to the Business Objects. You seem to have 'Emps' and 'lists of Emps' at the very least.
Each object like Emp already has its own CRUD functions: constructor (Create), Destructor (Delete), Getters (Read) and Setters (Update). The 'lists' will have the same functions appropriate to the list, but getters and setters are replaced by adders and removers.
The methods you quote seem to be AddToList, RemoveFromList (Not DelEmp), and ReplaceItem in the list. These are not creating or destroying either Emps or Lists, but are manipulating Emps on the List. Maybe you need to create an Emp before you add it to the list; Maybe, after you remove it from the list, you destroy it etc; but these are sepparate actions which may not always be necessary. When playing card games you add and remove cards from lists (hands, stacks etc), but you never create or destroy them.
As I understand it, you are manipulating the Emps on a List of Emps. In fact, from your description of List1, List2 etc, you may have an array/List of lists, where again you need AddList, RemoveList, ReplaceList to handle it.
The key point is that, if you have a number of objects of objects in memory, you have to hold them somewhere. OO is good because it provides container classes like lists etc. but you do have to plan for them just as much as for the individual Emps. Then you plan the associations between the individual objects and their container class.
Everytime any of us miss a class from your thinking, we try to get the existing classes to do its work. Then it gets into a muddle. Good clear class models really work.
Gil