You need to try to get him to poop every day. Not every other day. He may go every other day, but you need to try every day.
Again, go to www.kitten-rescue.com
. All the answers to your questions are there. It is an excellent site, written by a member of this site.
He probably doesn't like the veggie oil. How much are you putting in there?
Actually, I think olive oil is a better choice. If he doesn't like it in his food, just put a bit on your finger and put it on his tongue once a day. Or that you could do every other day. You only need a bit. Or even a little soft butter on your finger, that he might simply lick off, my cats like that. Not margarine, real butter.
As long as it's not too hard, you're okay. I don't think it has to be so much like toothpaste anymore, especially since he's getting older.
in fact, if he's 3 weeks now, in another week is when you should start introducing him to solid wet food (if you want to introduce him to dry food also -- do not do only dry food -- make sure you make the dry food soft with warm water). But you are better off starting him on the wet, but don't start that until he's about 4 weeks, and then you can start to wean him off the bottle and on to the wet food.
Once you start him on wet food, that's also when you should put out a litterbox and start to train him to use that.
If he doesn't like his belly being rubbed, if that's part of what makes him agitated, then just do the stimulating thing until he goes. Or the warm water thing. Again, read the kitten-rescue site. Nobody is going to give you better info than that. Try to do it 24 hours apart. If he goes at night and then you try the next morning, you'll have more trouble than if you wait until the next night, or about 24 hours later.
Also, if he's 3 weeks old now, another thing you can do is put a little bit of the kmr on a small plate, bring him to it, touch it with your finger and put a dab on his lips. If you can get him to lap some up from the plate, then you can give him a little water this way too, which will help with his pooping also.
If his bottom seems to be sore, run a little warm water from the faucet over him, which should feel better, or even a tiny bit of vaseline to soothe the area and keep it moisturized. In fact, if it's really irritating him, put a bit of vaseline on the paper towel which might help.
Just a tiny bit.