Formal definition of empty set

The emptyset is the unique set $x$ satisfying the formula $\forall y(y\not\in x)$. "There is an emptyset" is natural-language shorthand for "$\exists x\forall y(y\not\in x)$."

If you prefer set-builder notation, then $\{y:y\not=y\}$ does the job: the condition "$y\not=y$" is not satisfied by any $y$s at all, and so $\{y:y\not=y\}=\emptyset$.

Note that we can't mix these approaches with abandon: the set-builder expression "$\{x: \forall y(y\not\in x)\}$" describes the set $\{\emptyset\}$, not $\emptyset$ itself! Also, note that despite its name set-builder notation is not guaranteed to build sets in general - for example, $\{x: x=x\}$ is a proper class (the "universal class"), as is $\{x: x\not\in x\}$ (the "Russell class").

Meanwhile, your proposal does not work since no set $x$ whatsoever (empty or not) has the property $\forall y(y\in x\leftrightarrow y\not\in x)$. The issue is that you've gotten the conclusion of your example argument strategy wrong: we don't conclude "$x\in X\iff x\not\in X$," merely "$x\in X\implies x\not\in X$" (which leaves "$x\not\in X$" as a stable option). That said, we can if we really want to combine your proposal with set-builder notation: since your proposed property does not in fact hold of any set, the set-builder notation $\{x: \forall y(y\in x\leftrightarrow y\not\in x)\}$ is yet another way of describing the emptyset.