Hi Dale,
You are correct, "too many" is a subjective term. There is no recommended number though, all depends on your setup and acceptable job performance for you. We would recommend to run tests in a Test environment and compare the jobs performance after adding the extra periods and test plans. Just for info, usually I have seen about 3-6 years of open fiscal periods, especially for smaller companies. I would say based on my experience, 20 years would usually be considered "many", especially if that's in future. The environment and conditions in our world change so quickly that it's not an easy task to plan costs that much ahead.
Not sure if I would recommend creating a portlet - there is a lot of slice data involved and it would be an effort to develop it.
Same would be for historic data, if the total of periods spans over 20 years, this is an indication to do some performance testing beforehands. Unfortunately you would not be able to run Load DWH once and then close the periods and keep data in DWH db, as the job will truncate the tables before reimporting the data. At this point I'd say if data is needed but performance suffers, get the data copied to a DWH table, create a domain and a report for it. Alternatively just directly use PPM BEAN for a domain and base your report on the source database.
Hope this helps -Nika