I am very pleased with myself.
I'm still finding the game relatively tricky, but I've progressed a bit more. The main issue, as with all console games, is just finding time to play it. I've been continuing with around 10 lives, losing some, gaining some, sometimes dropping to just a few left before completing a stage. It's made some bits pretty stressful.
And then last night I found a way to get infinite lives. If you can kill a number of enemies in a row through a continuous action, then you get a lot of points - 200 for the first enemy, 400 for the second, and so on - and eventually you start to get an extra life for each enemy. This action could be jumping from enemy to enemy without touching the ground, sliding down a slope, or hitting enemies with a thrown shell.
On world 2-5, I found an area in which Lakitu is dropping spiky enemies over and over. I was able to jump on a yoshi just before this section. Yoshi ate one of the spiky enemies, spat it out, and it bounced between two blocks on the ground. As long as I avoided Lakitu's thrown enemies, they would land on the ground and be killed by the bouncing shell. After a while, each one that landed and was killed gave me an extra life.
Avoiding the shells thrown by Lakitu wasn't always easy, but I died the first time after getting 10 more lives; the second time after 20 more, and then the third time the counter went up to 99, which seems to be the maximum. I recorded this on my video capture box, so may well upload the video at some point.
Of course, on searching I found a number of videos of people who had already done this. But I found it myself, which is why I'm feeling so smug.