First, part A) The NC resfile tag is not meant to interact with metal ions. The packer should (?) ignore metal ions, as it knows they have no rotamers. At most you need a NATRO flag for the calcium positions.
First, part Is it failing at PDB read-in, or at resfile read-in? Do you have a calcium residue type? It will be at something like rosetta_database/chemical/residue_type_sets/fa_standard/residues/(metals?). There should be several ions in that folder; if there isn’t a calcium you can make one by comparison.
Second: I’m not sure what you’re asking. Do you mean, how do you specify which residues interact with the calcium? There isn’t really a way to do that; Rosetta’s energy function doesn’t handle that sort of bond. Usually we place the metal ion where we want it and fix the rotamers interacting with it (using NATRO).
Third: If you want your spin-label group to be present in the modeling, you will need to generate a parameters file for it, as you suggest. It will probably be easiest to generate a whole residue (including the cysteine backbone) rather than just the added atoms. You can do this by generating a .mol file (pymol can do it) of just your modified residue and feeding it to the molfile_to_params.py package in Rosetta. Partial charges, etc, are largely irrelevant: score12 (the default scorefunction) ignores them. If you want to use charges, you can tweak the scorefunction to use one of the explicit electronic terms (rather than fa_pair), but I don’t know how to do it.
Third, part : If you want this new cysteine conjugate to be flexible, it is possible, but it is nontrivial. I’ve done it in the past with help from its author. I don’t think the code for generating rotamer libraries for non-canonical residue types has been released yet; I’ll ask its author.