Yes, you can just loop through the individual features and save them like so:
dat <- read_sf ("~/data.shp")
for (i in seq_len (nrow (dat)))
fname <- paste0 ("~/split_", i, ".shp")
write_sf (dat [i, ], fname)
You can use Split Lines by Maximum Length in the Processing Toolbox.
An alternative would be to use the QChainage plugin - this will give you a set of points at specified distances along the line. You can then use the points to split the lines with the Saga Split lines with points tool... but that's really a two step equivalent of the above!
With both ...
Use the Field Calculator to add a new field, "NumPlants" with this expression:
when $area <= 0.004 then 1
when $area > 0.004 and $area <= 0.008 then 2
when $area > 0.008 and $area <= 0.012 then 3
when $area > 0.012 then 4
The $area function will calculate each polygon's area in the layer's units of measure. If ...