Zain isn't really an alternative spelling of
Zane; it's an Arabic name of a different origin. The meaning of
Zane is uncertain by the way; some treat it as a derivative of
John (hence the 'God is gracious' meaning), though according to the scholar K.M.
Sheard (in
Llewellyn's Complete Book of Names),
Zane is a West Country* surname, derived from the Old English name Sæwine (sæ 'sea' + wine 'friend').
*http://en.wikipedia.org/wiki/West_Country