The definition of "definable" is this: An object ##O## is definable (relative to a language, and relative to an intended model of that language) if there is a formula ##\phi(x)## such that ##O## is the only object satisfying that formula. In the particular case of sets, people often say that a collection ##S## is definable if there is a formula ##\phi(x)## and ##S## consists of all the things satisfying formula ##\phi##.
In the particular case of the reals, you have to work your way up to it:
- An ordinal is a set that is well-ordered by set membership.
- A natural number is a finite ordinal
- An integer is an equivalence class of pairs of naturals, where ##(x,y) \equiv (x',y')## iff ##x+y' = x' + y## (##(x,y)## is to be interpreted as ##x - y##).
- A rational is an equivalence class of pairs of integers ##(x,y)## with ##y \neq 0##, and where ##(x,y) \equiv (x',y')## iff ##x \cdot y' = x' \cdot y##.
- A real number is a set ##r## of rationals such that if ##x \in r## and ##x \lt y##, then ##y \in r##.
Then you have a formula ##real(r)## saying that ##r## is a real, and voila, the set of reals is a definable collection.
(This way of defining the basic objects of mathematics is a pain, because at every level of complexity, you have different objects. The zero for naturals is not the zero for integers, which is not the zero for rationals, which is not the zero for reals, which is not the zero for complex numbers. But each level contains a "copy" of the objects in the previous level.)
The set of all reals is definable. But there is a distinction between the set of all reals and the set of all
definable reals. Weirdly, the set of all reals is definable, but the set of all definable reals is not, because "definable" is not definable. This is where you have to be careful about the distinction between language and metalanguage. Given a language ##L##, you can, in the meta language, define what it means to be definable in language ##L##. But not in ##L## itself.