Place almonds in a 2-quart glass measuring bowl. Add enough cold water to cover the almonds by about 2 inches. Cover and let stand at room temperature for at least 8 hours or up to 12 hours. (Or, for a quicker soak, add enough boiling or very hot water to cover the almonds by about 2 inches; cover and let stand at room temperature for 2 to 4 hours.)
In a small bowl combine the dates and boiling water. Cover and let stand for 10 minutes. If not blending right away, place dates in the refrigerator until you are ready to blend the milk.
Drain almonds in a colander. Rinse well with cold water. Transfer almonds to a blender. Add 3 ½ cups cold water and the undrained dates. Cover and blend on high speed for 1 to 2 minutes or until nuts are very finely ground. Watch blender closely as the mixture will expand as it blends.
Rinse out the 2-quart glass measuring bowl used to soak the almonds. Place your nut milk bag upright in the bowl and open the top of the bag. Pour the blended mixture into the bag. (make sure your hands are freshly washed for this next step.) Lift and slowly squeeze the bag until all of the liquid is pressed out of the almonds. This takes a bit of time and effort (I’m talking a minute or two) but it’s worth your while to squeeze as much of the liquid out of the nuts as possible. (Dump the strained ground almonds into an airtight container to save for another use. Refrigerate them up to 1 week or freeze for later use).
Stir vanilla into the almond milk. If using the xanthan gum, rinse out the blender. Add the milk back to the blender. Add xanthan gum; cover and blend on low speed until well combined. Pour into a pitcher; cover and refrigerate up to 5 days.