A) probably not. Metal atoms dock to proteins based on sensitive electronic structure (in the metal atom); Rosetta does not represent those details. Biomolecules and small organics dock based on van der Waals and hydrogen bonding, which we can generalize and do calculate. I know the default force field can’t do this; you may be able to poke around the available scorefunction terms and find one that can, but I don’t think we have any designed for the purpose. Maybe look into the metalloprotein_abrelax code (there should be a demo in test/integration/tests/metalloprotein_abrelax)?
You need virtual atoms to get monatomic metal ligands to work. It’s hard rule that residues need 3 atoms because Rosetta functions on internal coordinates, and you can’t define the coordinate frames without enough atoms. Iron is probably already in the database. Check out rosetta_database/chemical/residue_type_sets/fa_standard/residue_types/FE.params. I typed that from memory so you may need to poke around a little to find it.
C) Do you know where the ion goes? I would place it there with constraints. That’s basically what I’ve done in the past for a project involving metal binding sites.