We have CMS and requests for removed / inactive pages returns http code 404 not found, IMO that is right thing to do or maybe use http status 410 gone. One of our clients hired SEO expert, and they are demanding that removed / inactive pages are redirected to front page with http code 301.
Since 301 is permanent redirect, I am worried what would happen when such pages are activated ? Is that a problem from SEO point of view ?
301, as you mention means "Permanent Redirect"
It should be used when the content of the page has been moved to another location. This tells people who link to that page, that they should be linking the new page instead, and theoretically there would be no difference. Major search engines understand this as well.
So, from an SEO perspective, 301 is a better thing to do, because the search engines can find the "new page" But if you don't have a "new page", redirecting them to the home page is bad form (IMO). Search engines could decide never to scrape a page that once had a 301, and you would then be worse off if the page ever comes back.
I think a better result would be to effectively leave the page, but to state that the product they are looking for is not currently available.