Yes to both questions. Britain alone could have defeated Germany - as Cheezy said, they'd simply starve them out - let alone with US help, and Russia was much stronger than Nazi Germany. Its economy also wasn't crumbling, unlike Germany's.
As other people have already said though, the main question is one of timing. Germany damn near defeated Russia simply because of Russia's incredibly piss-poor defensive efforts in the months following Barbarossa, until Zhukov and others began to get their act together. If Germany hadn't made some of its rather large mistakes in the Eastern Front, they may actually have pulled out a victory there, though it's doubtful.
There's also the question of how the Allies would go about invading Continental Europe without Soviet help. Presumably through North Africa, but a Germany without a Soviet threat to its East may well have flooded troops into French North Africa to forestall such a move. Despite common belief, Erwin Rommel could never have conquered Egypt no matter how many troops and supplies he was given, because El Alamein was impassable. Theoretically that hurdle could be avoided by landing Axis troops in Vichy-controlled Lebanon and Syria, but it is doubtful they could do it quickly enough to forestall British efforts to seize those territories when they became hostile. Egypt wasn't falling, and without it the Germans couldn't defeat Britain, let alone Britain and the US.
In this situation, Germany would likely eventually collapse on its own within a few years. It's economy was rotten to the core. It's a little-known fact that Austria was annexed in 1938 for primarily economic reasons, rather than the racial and ideological ones the Germans claimed. Germany was desperate for iron ore and other resources which Austria possessed, and couldn't afford to pay for them through peaceful trade.
A more interesting counter-factual is what would happen if the USSR joined the Axis, as once seemed likely? As a willing and equal partner, not merely to buy time to prepare itself for war? That is the only realistic situation in which Hitler would not still keep numerous forces along the Soviet frontier to forestall an invasion, even if Operation: Barbarossa never went head. Leaving the German-Soviet frontier undefended would be an invitation for a preemptive strike by Stalin, who had to know that he would be on Germany's hit-list eventually. In this case, the thriving German-Russia trade may actually have allowed Nazi Germany to survive for many more years, quite possibly until Hitler's death and a softening of its policies. Germany my potentially have reformed over time rather than collapsed, much as China is doing now. It's an interesting thought.
To forestall this nonsense about Germany developing nuclear weapons, I point out that Germany lacked both the necessary materials and knowledge to construct a nuclear weapon. The Nazis had chased all the talented theoretical physicists out of Germany and it was actually damn-near illegal to use Einstein's theories when making calculations. As I mentioned in another thread recently, "Aryan physics" was an amusing display of rank stupidity on the part of German scientists, who refused to use such useful theories as the theories of relativity simply because their authors were Jewish. In this atmosphere, and with German research actually striking out in the exact opposite direction of American research, there was no chance in hell that Germany would develop a nuke before the mid-50s. Even then, it would likely be through espionage.