What does it mean that the objects in a set must be well defined?
If I were to have a set which contains "the greatest book ever written" (the actual book, not the phrase) and I show this set to other people and ask them if my set is equal to $\{\text{Don Quixote}\}$, some people would say yes and other people would say no. If I showed it to some people and asked if my set was equal to $\{\text{Moby Dick}\}$, again some would say yes and others would say no. But... we know that $\{\text{Don Quixote}\}\neq \{\text{Moby Dick}\}$, those are two different books, so which one of these is the book "the greatest book ever written"? (personally, I'd go with Alice's Adventures)
In this sense, "the greatest book ever written" as an element in a set is not "well defined" because it is ambiguous what it means. We want our objects in sets to mean one and exactly one thing to the person reading and the same thing to any other person reading what we write so that we may clearly ask questions about whether or not things are equal or what properties our set and elements in our set has. We want to avoid possible misinterpretations.
Why is the empty set a set?
A collection may have zero things in it, one thing in it, two things in it,... on up to infinitely many things in it (for whatever type of infinite suits me at the time). All that is required is that all things (if any happen to exist) in the set are well defined and distinct. Just because the English use of the word "collection" usually implies that it is non-empty, in mathematics we do not keep that requirement.
Do elements in the set need to be lower case letters?
No, absolutely not. It is by convention that if we refer to an arbitrary set that we often will choose to use capital letters and will often refer to arbitrary elements of sets using lower case letters, however that is not a rule. It is a guideline which we intentionally ignore whenever it suits our purposes. We only do that so that someone reading our work at a glance can have a guess as to what each symbol means, however if it makes our writing clearer, we may use other letters, symbols, pictures, hieroglyphics, kanji, or any other manner we so choose to denote sets, objects, elements, variables, functions, or whatever we need.
If you want to call your set $\heartsuit$, go right ahead. If you want to let the objects in your sets be $\unknowncharacter$, go right ahead. The point is to be clear with what you are writing so that anyone reading it will know exactly what you are talking about.
Best Answer
Informally, well-defined means there isn't any confusion about which is which. A well-defined function means there is no ambiguity where you have to ask is $f(a)=b$ or $f(a)=c$ with $b \neq c$. A well-defined set is similar in that if we have two elements of the set we know, without any confusion or ambiguity, if two things in the set are the same thing or not. So we know if $x,y \in X$ we know for certain if $x = y$ or if $x \neq y$.