Could the first part of the sentence say "bist du kalt?" whats the difference?
No, since in German referring to someone as cold in that way tends to be seen as talking about personality (ie, I am callous, I am distant). When talking about weather, you need to say to me it is cold - mir ist (es) kalt with the person as the indirect object (in dative case), where es is often omitted as described in another comment on this thread. It's the same with being hot - ihm ist heiß / to him it is hot (he is hot) - and certain other phrases like the german version of "how are you?" and its responses - ihnen geht's gut / to them it is going well (they are well).
I thought the first sentence should be 'ist es dir kalt?'. Can the 'es' be omitted ?
It not only can be omitted, I'd say it almost should be omitted.
A dummy subject pronoun es may occur in sentences like this for grammatical reasons, to fill the position before the verb so that the verb can be in the second position where it needs to be, but if there is already something before the verb (as in the statement Mir ist kalt) or if the verb does not need to be second (as in the question Ist dir kalt? or a subordinate clause ... weil mir kalt war), it's not needed.
Such a sentence then has no formal subject.
That's a literal translation but I don't know any native English speakers who would say "Is it cold to you?".
Instead, use "Are you cold?".