I really fancied riding Morocco and especially the High Atlas mountains until I read an alarming account on CGOAB written by a couple of cyclists literally hounded by locals where ever they stopped. They were pestered for food and their possessions short of being robbed. On many occasions they had to very quickly leave and pitch camp late in the middle of nowhere where they thought they would be safer until a few locals found them and they felt very vulnerable again and had to move on yet again.Their tour turned out to be a hell rather than a holiday. I don't think wild camping is that safe which is a pity but OTOH good as you don't have to carry so much weight. However works out a bit more expensive and of course you have to stay in towns and not in spec places. From the accounts I have read I believe most of the Atlas can be ridden in 14 days.
January would be a good time to go as it is not so swelteringly hot in Morocco. Although considerably further south Michael Palin's Saharra through Mali is my favourite travel journey although I believe it is now in civil war? I might be wrong though.
Agadir would be good also a visit to Marrakesh. Riding NE to Tunis would be good through the High Atlas. I don't know how feasible this would be or safe as a large part would be through Algeria which I believe is dodgy to say the least? My knowledge of Arabic is zero so we would be at the mercy of locals not ripping us off and not leading us into danger. Cheap hotels or hostels with pools sound good.
I guess you'd need a MTB or serious expedition bike if riding in the High Atlas or a rugged touring bike with low enough gearing could work? 50-60 miles a day sounds about right. Not sure I can take a month though maybe 2-3 weeks. Your ride looks interesting and has possibilites. Before this though I am planning to ride the Sarn Helen in Wales probably in September, 270 miles all off road from Conwy to Worm's Head on the Gower Peninsula taking about 7 days.
Keep the thread updated with your thoughts and lets see if it comes to anything.