Mary Alice looks the best, but I think people will assume its a middle and call her Mary. Mary-Alice (with a middle name as well) makes it clear that Mary-Alice is her full first name and is what she should be called, right from the birth announcements through to school. I do not like the smoosh at all.
Its a very pretty name either way!
I think Mary-Alice is the best way to show that you want people to call her both names, which is a problem if you use Alice as a MN and Mary as a FN.
I don't like smushing it. Just let it be. If she's introduced as Mary Alice, then that's what people will call her.
I baby sat a precious girl called Anna Elisabeth that always went by Anna Beth. No one has thought to call her otherwise. She is a teen now.
I would go with Mary-Alice and a Middle name. Or Mary Alice and add second middle. If you go with the hyphen, people will read the name as the first name. Mary-Alice is beautiful!