Your point 2, is obviously correct.
As for the point 1, we construct the automaton: let's remember how much more 0's we've read than 1's. Then we have transitions:
S0 by 0 to S1
S0 by 1 to S-1
S1 by 0 to S2
S1 by 1 to S0
S-1 by 0 to S0
S-1 by 1 to S-2
S2 by 1 to S1
S-2 by 0 to S-1
S0 is initial, only
S0 is final. This way we are sure, that in whatever state we are, the number of $0$'s and $1$'s that were read so far differs by at most $2$ and in the final state the number are the same.
Then the language is
The large parenthesis corresponds to all paths from
S0, and we can repeat it as many times as needed.