Suppose I have a model $M$ of set theory (ZFC, or whatever). Let's say that I want to take a set $a$ out of it, and still have a model of set theory. For the sake of argument, say $a$ is one of the indefinable real numbers. Intuitively, $a$ is not "required" for $M$ to be a model of set theory; there are models of set theory without indefinable real numbers. So we ought to be able to take it out.
The naive approach is to take $M - a$ with the induced membership relation, and try to verify that it's still a model of set theory. But it isn't; e.g., $M$ must contain a singleton $\{a\}$, and in $M - a$, the singleton $\{a\}$ is now empty; so we have at least two empty sets, violating extensionality. Probably this is hardly even the beginning of our problems.
We run into similar problems if we try to add a single new set to the model (e.g., a new subset of the reals). To add a single new set $b$, we need to add a singleton $\{b\}$; we need to add all finite sets containing $b$; we need to modify sets produced by the separation axiom to include $b$ where appropriate; etc.
So in general doing this sort of fine-grained surgery on a model of set theory is a difficult problem, even when intuitively it should be possible. I am wondering what techniques are available for this. I understand that forcing is, broadly speaking, a method for adding more sets. The omitting types theorem is one way to "remove" sets.
Unfortunately, I believe that none of the methods I know apply to the problem I am working on. In particular, I don't think forcing applies because my problem is one of removing sets, not adding them; and I don't think omitting types applies because meeting its hypotheses essentially seems to amount to already having solved the problem I am trying to solve. So I am casting about for other methods.
Question: What other techniques are available for fine-grained addition and removal of sets to/from a model of set theory?
Thank you!