None are intrinsically "incorrect" (whatever that really means), but the most common in everyday writing would be "ID" or "I.D.". Especially in the UK, it's really not common to put full stops in this kind of word/abbreviation in real-life usage-- I almost think this seems to be something of a primary-school-teacherism.
I can't recall seeing "i.d." or "I.d.".
The other variants ("Id" and "id") wouldn't usually be used in normal writing contexts, but are quite common in some computing contexts. For example, a common convention for naming functions/methods is to capitalise the first letter of "words" and treat abbreviations as normal "words". With that plus the convention of starting variable names with small letters, you would end up with things like:
getTokenId()
idOfUser
But obviously these are quite domain-specific uses.
id
could give someone pause given the similarity to the first word inid est
, a Latin phrase somewhat commonly used in English. – waiwai933 Apr 14 '11 at 19:55