Do constant functions have asymptotes? As far as I have learned a function has a horizontal asymptote $y = k$ if and only if 
$$\lim_{x \to \infty} f(x) = k$$ or $$\lim_{x \to -\infty} f(x) = k$$

Now, for a constant function $$f(x) = c$$ we have $$\lim_{x \to \infty} f(x) = \lim_{x \to -\infty} f(x) = c$$

Does this mean that all constant functions have horizontal asymptotes, or is this definition not the one commonly used?
It really depends on how you define asymptotes, and there was much discussion about this matter in this question.  It really comes down to whether or not we should have

$$f(x)=c$$

At only a countably infinite amount of times as $x\to\pm\infty$.  But for all intended purposes, I think stating a constant function is asymptotic to itself, or indeed, that any function is asymptotic to itself, is, though not very useful, acceptably correct by standard definitions.
The function is defined everywhere. It would be an asymptote if the limit exists AND the function is not defined for that y value.