|There is only one user per PC, so the single user on PC1 must have access to both shares.|
That's how I read it and my response is still bang on the money. You see, because PC1 has dual NIC's (multihomed) and each NIC is configured for one of the two networks, this gives PC1 access to both networks. So, if you had a share on one of the other PC's in each separate network, PC1 could map to both thanks to being a part of both networks.
All users on network A plus PC1 should have internet access. No internet for network B.
Again, thanks to being multihomed, this is no problemo. As long as the NIC for network 1 on PC1 has the correct gateway address, it'll have internet access just like every other client in network 1. Network 2 won't have any internet connectivity because it will have no external connection.
What I´m looking for is a way for Jane, on PC3 of network A to be able to access share A on PC1 but not share B on PC1. Also, I want her to have internet access.
As long as user Jane on PC3 network 1's NIC has the correct gateway IP (which will be the IP of the SOHO router you have connected to the internet) she'll have access to share A on PC1 and the internet as well but she will not have access to share B on PC1 if you setup user accounts on the ACL's the way I specified above. Which is to say, she's added to the ACL on share A, but either is not added to Share B, or is added but given the "no access" permission.
But right now I imagine the solution using an ADSL-Router/switch for network A with internet access, and a separate switch for network B, the local-only network. Their only point of connection would be PC1, which has two NICs.
You're right, but as I said before, unless you used ICS on PC1, or some other 3'd party software, you won't have communication between the networks so you don't need to worry about network 2 having internet access.