Well, you can put it in a loop, but I can't see a way of optimizing that as each regression has to be done anew.
plm.results = lapply(1961:1978,
function(y) plm(lgaspcar ~ lcarpcap + lincomep,
data = subset(Gasoline, year <= y),
model='pooling'))