I would say no. Some of the documentation says it should be there, but as far as I have been able to determine, it is only needed when there is nothing else in the properties to differentiate from other parts. This has plenty of properties which should keep this unique from other parts, so variant serves no purpose. I would say the same for layer. I do not see what that property is useful for.
For xml, I use Visual Studio Code (free, cross platform). It (or actually the plugin) knows nothing about PCB layouts. Just the general rules for xml elements, tags, attributes. It will usually highlight syntax errors, and help get them right, you have to use your own knowledge of what a Fritzing fzp or svg should look like. Like coding a web page in raw html (which technically is also xml).
If you don’t have the layer property, something (I don’t remember the exact details at the moment) breaks in pcb view with through hole parts. I’ll see if I have the details on what breaks (it should be easy for me to reproduce I think.)
if/once confirmed, that should be added to FritzingPartCheck. Complain if needed properties are missing. Also need a documentation index someplace of the reasons the reported cases are a problem.
Yes to both. If the layer property is missing, at least (there may be more I haven’t found yet) the top/bottom of the pcb in Inspector gets greyed out and you can’t move the part to the bottom of the board. It is on the list to be added to check part and the explaination will go in the error message list to tell you why this is an error.