Upload all local modifications to the server side workspace at the end of the day.
Create workspaces as you need them. Delete them when you are done.
If you do not delete a workspace and its contents after a check-in, perform a workspace "update" prior to doing more work out of it to ensure you have the latest versions of objects in the workspace.
It seems a bit complicated to me. On the ancestor of Windchill (Intralink), to delete a file from a workspace, you had to delete all the parent assemblies with it. That's definitely not what you want.
In addition, if the file is called in another assembly, it will reload automatically.
I think the easiest way is to have several workspaces to deal with different topics and to be able to delete them when it's finished.
To sort quickly, you can also export the assembly you want to keep in a new workspace.
It doesn't really suit me to create several Workspaces depending on the topics covered because I often work around one or more engines (lots of parts) that are loaded in a workspace.
And recreating one will force me to recharge the engines for each subject...
In fact, when I make a tool in the engine environment and it's finished, I would like it to disappear from the workspace at the same time at check-in. (plan+assembly+parts)
I insist but I think the easiest way is to have a "generic" workspace with an assembly of your engine(s) in which you don't work.
When you want to make a new tooling, you export this asm to a new workspace (the export doesn't go back through the Windchill common space so much faster) and you create your tooling. When you're done, you check in and delete that workspace.
That way, you have a "clean" space with your environment and workspaces that you can empty quickly.