I have got a windows 7 Home Premium PC and I have 2 routers.
I have: Huawei E586 and it has a very good upload but a bad download.
I also have a BT HomeHub 2 and it has a good download but awful upload.
I am wondering is their anyway to share these two internet connections and use one for a dedicated upload and the other for a dedicated download?
For all practical purposes, no. Windows (like most other OSes) picks one of those routers as your exclusive internet gateway. And once it has, it doesn't matter if you have a second or 50 more. It ONLY uses that gateway for all internet bound traffic.
Of course, if you wanted to bind machines to specific routers according to their usage characteristics/patterns, you certainly could. But that assumes those usage characteristics/patterns are fixed (probably not a good assumption). And it places your computers on different networks, complicating resource sharing.
About the best you could do is use a multi-WAN router. Connect each ISP to one of the WAN ports and configure the multi-WAN router to optimize traffic. So you might, for example, be able to force certain machines through a preferred ISP, perhaps based on IP or MAC address, protocol (e.g., torrent vs. http), even time of day. It just depends on what features the multi-WAN router offers. But at least that way all your computers use a single router (the multi-WAN router) and remain on the same network.