Pour le lait, je ne suis pas capable de répondre mais je pense que vous pourrez trouver du lait correct et adapté à un enfant de 2 ans dans toutes les grandes surfaces (Carrefour, Acima, Marjane...).
Pour l'argent, il est tout à fait possible de payer en euros (en particulier dans les hôtels ou les restaurants). Les euros sont également acceptés par certains commerçants. Le taux de change est d'environ 1 / 11, c'est à dire 1 euros = 11 dirhams... parfois 1 / 10, donc je recommande généralement de payer en dirhams pour éviter ces petits soucis.
En plus des nombreux guichets de change, il est facile de retirer des dirhams dans les guichets automatiques des banques avec une Visa ou une MasterCard. Pour cela il est préférable de "sortir" une somme conséquente afin de limiter les frais bancaires.
Bon voyage !