Friendship items drop from enemies 12 levels below you or higher, so if you're level 30, enemies at level 18 or higher will drop items. Drop rate increases as enemies are higher leveled and if you have more people in your party. Progress is capped to story progress, so you will need to continually progress with the story to continue leveling up.
You can level someone up just for the buttons to turn gray and a tooltip that tells you to clear a story quest first. Once you clear it, they immediately level up, but when it's queued up like this, it doesn't count towards achievement progress. Therefore, when Momotarou reaches level 19, wait until you clear the quest To Echigo to do the final level.
Momotarou's preferred items are the Friendship Goldfish and Komainu, which gives +30 and +90 friendship respectively. Using only Goldfish, you will need 948 goldfish to reach level 20.
During the quest To Kusatsu, you will have a choice to talk to a party member of the same gender as your character. You will get 30 exclusive +100 friendship items for whoever you chose, and 50 generic +20 items that work on anyone.
THE FAST, BUGGY WAY
This exploits a glitch in which you can regularly refresh Miroku's bargains. To emphasize the point in advance, this glitch can be very persnickety, and thus I have a few superstitions about making it work just right. I'll note those where I can.
First superstition: if you've been playing Onigiri on multiplayer in the last four hours, you can't make this work immediately, and you need to let Miroku's bargains refresh. This happens every four hours, minus twenty minutes for every level in Negotiation, so keep a potential updated time in mind every time I refer to four hours.
Now that that's done, exit out of the game completely by dashboarding and quitting out. When you load up the game, start in single player. This is crucial; starting in multiplayer may result in having to wait another four hours. Check Miroku's bargains, but do not buy anything yet. This is another superstition of mine, but I've seen it override the glitch on odd occasion before. before. You're looking for friendship items first and cheap items second, anything under 1,000 ryou, but the more money you have, the more you can stretch that.
Now pause, click the button in the top right, and return to character select. This time, select multiplayer. Check Miroku's bargains again, and if the glitch is working, you'll see a separate list of bargains. Once again, do not buy anything. Ideally, you're looking for a friendship item in both lists, or a friendship item in one and a cheap item in the second. Sometimes, you can't do this and you just have to come back later.
Now, if you do meet those requirements, you're in luck. Go back to character selection and single player mode to bring up the first list. Buy the friendship/cheap item, then character select and multiplayer. Buy the friendship/cheap item here. Character select, back to single player, and Miroku has restocked the bargains, allowing you to buy again. From here, you can regularly switch out back and forth, buying up multiple copies, without the bargains syncing up.
First caveat: You do not have an unlimited amount of time to do this. If Miroku refreshes the bargains at the end of that ~four hour window, then the bargains will sync up and stop refreshing. You'll have to try again later.
Friendship items come in packs of 4, plus 1 for every level in Negotiation. Regardless of level, friendship items are always the same price at 200 ryou per item. Buying every single item necessary will cost you 189,600 ryou. Cost effective!
Now for the fun details! In truth, Miroku only sells the same 12 items in eight different configurations. He sells up to two different friendship items during this time. For instance, in my current configuration, he sells Paperbacks and Goldfish. Until you do something to break the cycle, he will only ever sell those two items. To break the cycle, you need to buy out his bargain inventory. Definitely wait until he's not selling weapons; I generally won't buy them out for more than 30,000. This syncs up his inventory, so you'll have to wait four hours to try again. You may simply end up with a new configuration that holds the same friendship items, so you'll have to do it again.
Regardless of where you are, when you switch between single player and multiplayer, you will always respawn facing north. To save time, position yourself just south of Miroku. I find it easiest in Yamataikoku, though Izumo and Kumaso are also valid options. Don't use Onigashima or Kyoto, the loading times are bad enough as it is.
When you're done, you aren't done! The last thing you need to do is, while on multiplayer, leave the town and do something. I leave, kill an enemy, then go back to town and reposition. Sometimes, the bargains sync up after you've done the glitch after a refresh, and for some reason, this prevents it. Again, my superstition is to completely exit out of the game, then come in on multiplayer to do just that.
THE SLOW (AND LUCKY) WAY
Exactly what it says on the tin. Get a large group and farm high level areas.
This method is slow and boring, so unless it gets patched out, I prefer to buy in bulk. However, it's useful if you want to grind and the bargain bin isn't behaving.