In batches, pulse spinach in food processor until coarsely chopped.
Place chopped spinach in a pot, cook over medium-low heat until wilted.
Place spinach in small mixing bowl, set aside.
Boil a pot of water, cook macaroni as directed.
At the same time, melt butter for cheese sauce in a pan.
Add flour, white pepper, mustard powder, cayenne, and nutmeg to butter, fry briefly to toast flour.
Mix in milk a bit at a time, mixing thoroughly to avoid lumps.
Continue to heat sauce until thickened slightly, stirring regularly.
Add cheese to sauce, stir until melted.
Add 1/2 cup of cheese sauce to spinach, add the rest to cooked macaroni.
Add cheese and bread crumbs to spinach.
Mix together butter and bread crumbs for topping, then mix in cheese.
Grease a 13x9 pan. Pour in one third of the macaroni and cheese. Layer diced ham on top. Cover with another third of the macaroni. Spread out spinach layer on top. Cover with remaining macaroni. Sprinkle topping over all.