> why would a software dev have a portfolio?
For the same reason artists do -- to show a potential employer what you're capable of and what your style is. Look at it from the employer's point of view -- they have very little to go on when judging ability. If you can provide examples of your work, then you're reducing their uncertainty and giving yourself an edge for the position.
> I'm not going to put proprietary code on a portfolio nor am I going to spend multiple years building some open source project when I already have a full time job.
You don't have to do either of those things. Your portfolio doesn't have to include large, complex projects. A collection of smaller ones will do nicely. Or, even easier, is what I do: I just bring in the code for the most recent hobby project that I've completed.
> interviewers always want salary history to knock you down
You don't need to provide that history. At least, I never do. When I'm asked, I respond with what my salary expectation is, not what my salary history is.