i don't think it's possible just like you put it.
iSCSI is a block-level protocol. if several hosts access the same block device, they have to somehow arbitrate the use of the data stored there. Usually that means using a cluster-aware filesystem (GFS, OCFS2, CXFS, etc).
SMB/CIFS is a file-level protocol. it shares files with several clients, doing all the arbitration needed, and relying on the underlying filesystem.
Solution B should work, as long as you use a cluster-aware filesystem on this partition. oterwise, as soon as you use that block device from two hosts, you'll totally corrupt it.
It's not a 'rube goldberg'-like solution at all, since any fileserver works on top of a filesystem, you would just use a cluster-aware one. in fact, one of the most common use of cluster filesytems is as shared storage for several (smb/nfs) fileservers, distributing the processing and bandwidth load of file serving the same files.
in short: if you want block-level sharing, you have to use a cluster filesystem. if you also have non-cluster clients, you can add a fileserver on top of that filesystem.
Since you're using iSCSI boot, the NIC should have some type of configuration menu available at system startup that can be accessed via a key combination. You would need to modify your connections via this setup interface, since you can't drop the connection once it's in use.
Best Answer
The trick is set the "port number" parameter in the AddTargetPortal command in iscsicli.
However, the only way I was able to associate this port number with an actual IP address is using WMI. In order to figure this out, I used PowerShell
Once you track down the port number (let's say 2) you can use the following to add the target portal assuming the target has an ip of 10.10.10.10. The port number comes after the initiator name, ROOT\ISCSIPRT\0000_0