Find some hash function with deliberate collisions I guess this should be well known (or trivially desperate), but I couldn't find any reference.

I have a small number (say $k=15$) of messages $m_i$ ,$i=1\cdots k$ (they are fixed length and short, but I think this should be irrelevant).

I'd like to find some hash function such that $h(m_i)=h(m_j)$ (deliberate universal collision, they all give the same hash), but such that the chance of a random collision is reasonably small. I'm not concerned about cryptographic attacks.

The brute force approach (append some random bytes to all messages, hash, retain some bits and hope that the  universal collision happens) doesn't look practical. Too many tries, too high probability of random collisions. 

Is there some other way?
If you just want to prescribe up front that a set of messages $m_1, m_2, \ldots, m_k$ will collide in an otherwise innocuous hash function, without regard for any cryptographic security properties…

…then the question is off-topic for crypto.SE, but you can just pick a hash function $H\colon \{0,1\}^* \to \{0,1\}^\ell$, pick your favorite hash value $h$ for the messages $\{m_i\}$, and define $$H'(m) = \begin{cases} h, &amp; \text{if $m \in \{m_i\}$;} \\ H(m), &amp; \text{otherwise.} \end{cases}$$  In this case, $H'(m_i) = H'(m_j)$, but $H'$ otherwise behaves like whatever kind of hash function $H$ is.  It is unlikely that you can compress the description of $H'$ more than this without additional structure to the fixed messages $m_i$.

Another approach would be to define $\hat H(m) = f(H(m))$ where the polynomial $f \in \operatorname{GF}(2^\ell)[x]$ is the Lagrange interpolation of of the function $H(m_i) \mapsto h$: $$f(x) = \sum_i h\cdot\prod_j \frac{x - H(m_j)}{H(m_i) - H(m_j)}.$$  If the $m_i$ are larger than the $\ell$-bit hash values, this has a substantially shorter description: it is a degree-$k$ polynomial with hash-value-sized coefficients.  (Caveat: If $H(m_i) = H(m_j)$ for any $i \ne j$, this formula doesn't work as written—the denominator $H(m_i) - H(m_j)$ is zero.  In that case, just discard that term.)

Note that unlike $H'(m)$, $\hat H(m)$ does not coincide with $H(m)$ when $m \notin \{m_i\}$.  Whether $\hat H(m)$ has any properties one might expect of the kind of hash function you mean, I leave as an exercise for the reader to ascertain.

(Original answer)  If you were concerned about cryptographic attacks…

You can make a public-key collision-resistant hash function.  Anyone can evaluate the hash function; knowledge of a secret key enables finding collisions; without knowledge of the secret key, finding collisions is conjectured to be difficult.

One example is $x \mapsto y^x \bmod n$ for random $y$, where $n = pq$ is an RSA modulus.  If you know the factors $p$ and $q$ of the modulus, then it is easy to find a collision; if you don't, then it's probably not.  Specifically: any algorithm that can compute a collision with nonnegligible probability can be used as a subroutine to solve the RSA problem, computing roots modulo a large semiprime of secret factorization, without much additional effort.  Under certain additional conditions, finding a collision can't be much easier than factoring for an analogous reason.

VSH is a somewhat more well-known example, defined on arbitrary bit string messages.

These don't allow you to prescribe collisions, however: you get no choice in the messages that collide, only the ability to find them.  Actually you even get the ability to find preimages and second preimages, but again, no control over which sets of messages collide.