
Okay, first things first: he doesn't understand what 'leave it' means, so screaming it at him won't make a blind bit of difference - it's like me yelling "oojamaflip!" at you and expecting you to understand that I want you to change the channel on the TV. :-)
I would suggest for now that you get him on a houseline - a 6ft (give or take) lightweight lead - so that he's attached to you at all times. That way, he cannot run off with anything; if you keep an eye on him, you can stop him getting hold of them in the first place, and it will also prevent him irritating your cat. :-)
re. the leave, georgepig's suggestion is a good one and is how most people IMO go about teaching a leave. Treat in one hand, if he goes to take it close your hand so he can't get it, and when he backs off, reward him. I reward from my other hand - to me, 'leave it' means 'you aren't allowed to have that at all' so rewarding a leave with the treat I'm asking the dog to leave seems a bit like defeating the object to me. I would also start with a boring bit of his normal food in the 'leave' hand and something really tasty in the reward hand, so he learns that leaving it gets him something better. When he backs off as soon as you close your hand, start to say 'leave it' as he moves away.
When he's leaving the bit of food on command, you can progress it - I start by putting the bit of food on the floor, with my hand nearby ready to cover it up (chances are he'll go for it again as dogs don't generalise; he may understand leaving it in your hand but the floor is a different situation so you need to go back a step). Same process. Then build it up - move further away from the food as he gets more reliable, add a bit more food, something more tasty. When he's getting really good you can start to add movement - that's how I train it anyway. Chucking a bit of bland food a little way (with me nearby ready to cover it - again, a different situation so back a step), then further, building to throwing it a few feet past the dog's nose and so on. I've been doing that with the world's biggest chow hound - my 4yr old dobe boy - so it is possible! I would also start working on some item swaps - offer him something low-value that he might normally pinch, then offer him something better as a swap. Do that several times every day, and always swap for something better, to build in his mind that giving an item up is a good thing to do. You're right - making a fuss over a stolen thing will make the thing much more attractive to him as he'll think it's very valuable. It's a good way to et a dog that guards and believe me, that isn't fun!
For day-to-day issues, as I said I would use a houseline, and if you haven't already got one, a crate for when you can't watch him like a hawk. Set him up for success - don't let a situation arise where he can get something he shouldn't and get in trouble for it, engineer situations so that you can work on the problem. The more succusses he has (i.e. getting rewards for behaving as you'd like hi to) the better behaved he'll become and the faster his training will progress.
Also, and I don't mean this personally, but I speak from experience - stop the screaming. Really, it won't help - it'll just teach him that you're not nice to be around or listen to. Trust me! I have four dogs, they are responsive and well behaved when I am calm and reasonable; if I start to lose my temper or am irritable for whatever reason, they pick up on it in a flash and become disobedient and ignore me. I have generally obedient breed types - dobes, rott mix and a lab X collie - totally different mindset to a malamute so it's all the more important for you to create an environment that encourages respect and pleasant feelings on both sides.