Dammi is simply the usual unified form for da' (or dai), the second person singular imperative of the verb dare (= “to give”), and the pronoun mi, that is, a me (= “to me”). All in all, dammi is just “give me” (and hence dammi un bacio means “kiss me”).
The “m” is doubled since in such juxtapositions a phenomenon called raddoppiamento fonosintattico (syntactic doubling) happens, in which – simplifying a bit – when a vowel (a stressed one or the only vowel in certain one-syllable words) at the end of a word meets a consonant at the beginning of the next one, the consonant is doubled. Most of time, this is just heard in pronunciation (è vero is pronounced as if it were written “evvéro”); but in single words formed by the joining of two words as above, the phenomenon appears in spelling too: davvero, ebbene, frattanto and so on.
Attaching the direct or indirect or indirect object (or both) to the verb is the rule for imperatives, with or without doubling, as the case may be. For instance: prendilo (“catch it”), falle (“do [something] to her”), dimmelo (“say it to me”).
As for dai, be aware of the fact that it is both one form of the imperative (“give!”) and the second person singular of the indicative mood (“you give”). Which one we are using is often understood by the structure of the sentence. In your example, mi dai un bacio could only mean “you give me a kiss”, as in “you are giving me, right now, a kiss”, not an order or a request.
Finally, mi dia un bacio is what you would say formally, to a person with whom you use Lei, while dammi un bacio is what you'd say to some with whom you have more familiarity (addressing them with tu). (In either case, I wouldn't ask peremptorily for a kiss...)
(A final piece of advice: When in doubt, forget WordReference; it's not exactly an authoritative source.)