As long as you're eating enough your diet won't make a huge difference in your strength, and by eating enough I mean enough to keep your body fat relatively *high*, yes I said high, if it's too low you won't be able to get stronger easily.
Second thing is, you're working out too long, as Tom was alluding to. 2 hours is way overdoing it, in my opinion anyway. As a basic template you should do 1 main lift per workout, then assistance exercises for that day. 1 hour is a pretty long workout. 531 is a great resource in terms of getting your program sorted out.
Third thing is, if you want to get better at bench press, get better at squats. The setup from the waist up is very similar. Once you learn how to correctly pick up a heavy bar on your traps you'll understand how to position yourself on the bench. If you want to increase your strength at bench press, work on your overhead press. Overhead press will build up those traps.
Last thing is, do what Jim said and abandon that smith machine! It forces you into terrible form and will blow your shoulders up if you use it to do heavy bench presses over time. Don't be discouraged if you have to lower your weights when you move to a proper bench, they will come back up. I've restrategised that way lots of times, just make it a project.