The fact that Will realized Sydney didn't work for a bank wasn't based on speculations over that.
He started investigate Danny's murder because he realized something wasn't right with it. And Will was a reporter (Francie was not) so it's not odd for him to question it.
Then it was all lead to him finding out about Sydney's real job.
He never suspected she worked for the CIA, he just happened to discover it while trying to do something heroic for Sydney.
Seriously. What friend, like Francie, would suspect Sydney to work for the CIA just because she goes on a lot of trips? NO ONE. Come on. Will wasn't smarter just because he found out ACCIDENTALLY - he was just a guy into a girl and doing his own job. If it had been Francie who was the curious reporter, she would've found out instead.