What is the denotation for identifiers?
But I can't figure out what the type should be for the denotation for identifiers. 


That is because you are implicitly tracing the denotation function $⟦\_⟧$.
It might get easier to see the type if you explicitly trace the denotation 
function by tagging them appropriately.
$⟦x + y⟧_{AExp}\sigma = ⟦x⟧_{AExp}\sigma + ⟦y⟧_{AExp}\sigma$.

Similarly, if you have an boolean expression with identifiers, for example:
$$⟦a_1 &lt; a_2⟧_{BExp}\sigma = 
\begin{cases}
True &amp;\text{if} ⟦a_1⟧_{AExp}\sigma &lt; ⟦a_2⟧_{AExp}\sigma\\
False  &amp;\text{if} ⟦a_1⟧_{AExp}\sigma \geq ⟦a_2⟧_{AExp}\sigma\\
\bot  &amp;\text{otherwise}
\end{cases}$$

In this case $\sigma : Identifier \rightharpoondown Int$.
The type of $\sigma$ would also be implicitly traced by the denotation function because, the object language construct makes it obvious. You can, if you want to be even more pedantic, carry around a tuple of $\sigma$'s, one for each type of variable lookup.
So, if your language has integer variables and boolean variables, your $\sigma = (\sigma_{Int}, \sigma_{Bool})$ and the correct component would be chosen depending on which $⟦\_⟧$ is being used.


  I guess I am not 100% how the other two are also CPOs...any enlightening comments?


Now, the poset structure is on the co-domain of the denotation function i.e. if you have a denotation $⟦\_⟧_{Stmt}$ the signature of the poset structure will be $(\alpha: State \rightharpoondown State, \preceq, \bot)$ similarly for $⟦\_⟧_{AExp}$ the structure poset structure would be $(\alpha: State \rightharpoondown Int, \preceq, \bot)$, where $\preceq$ allows you to compare the amount of information
contained by the information bearers $\alpha$, as explained on pg 159-160 in the notes you have linked.