Two questions about functions 
*

*Can someone give me an example of an instance where the pre-image of a function would NOT just be the domain. For instance, for  $f(x)=x^2$, the image is all positive reals. The pre-image would consist of all elements in X that map to all y in the image. However, all members of the domain (all reals), map to a member of the image, since both the positive and negative of any real would map to a positive y. How could there be a case where the pre-image is a proper subset of the domain, in other words, a case where the domain would contain elements not included in the image? If there were values in the domain that didn't map to the image, then we wouldn't have called that our domain in the first place. Right?

*Can we define the co-domain to be whatever we'd like, arbitrarily?
 A: You seem to be a little confused about the meaning of function. I'll try to explain it briefly here:
Intuitively, one way to think of a function is an "association" between elements. Those elements could be anything: numbers, people, sets, even other functions. In other words, a function would be something like a "rule". You have something, you apply the function, and you get another thing.
To put this is a rigorous way, that is, that makes sense in a set-theoretic model, we do the following:
Given two sets $A$ and $B$, we define a function from $A$ to $B$ to be a triple $f=(F,A,B)$, where $F$ is a set whose elements are of the form $(a,b)$ for $a\in A$ and $b\in B$, satisfiying the following:
$(*)$ For every $a\in A$, there exists a unique $b\in B$ such that $(a,b)\in F$.
The set $F$ is called the graph of $f$, $A$ is called the domain and $B$ is called the counter-domain. The domain can be imagined as the set where you want to apply the "rule" of $f$, and the counter-domain is where the objects you get after applying it will be.
The property $(*)$ means the following: for the "rule" of $f$ to make sense, you need to know what to do with each element you want to do something with, and the "rule" must not lead to two different objects. Also, the uniqueness in property $(*)$ tells us that the notation $f(a)$ for the unique element in $B$ such that $(a,f(a))\in F$ is good, that is, it will not lead to any ambiguity. To denote the function $f$, we usually write $f:A\to B$, $x\mapsto f(x)$. If you have any nicer formular, you can also put $f:A\to B$, $f(x)=$your formula.
Finally, to answer your question (1): Property $(*)$ implies that the pre-image of any function will equal the domain.
About question (2): The counter-domain matters. To define a function, you first have to specify the counter-domain. That way the functions $f:\mathbb{R}\to \mathbb{R}$, $f(x)=x^2$ and $g:\mathbb{R}\to[0,\infty)$, $g(x)=x^2$ are different, although $f(x)=g(x)$ for every $x\in\mathbb{R}$.
However, it is quite common to ommit domain and counter-domain when you want to make reference to a function for the sake of simplicity. But, since you are studying this, you should be aware of the exact meaning of those things.
Also, you may find the concept of partial function, but I think you first should get used to the usual concept of function before going that way.
