Scope change
If a requirement or backlog issue has already been completed can it be removed from the scope of a project retrospectively?
I believe it gets removed once the increment that includes it has been used to allow the stakeholders to try out that piece of value during the sprint review, unless the PO has decided to release the increment beforehand as all PBIs can only be classed as completed once they meet the agreed upon DoD.
If a requirement or backlog issue has already been completed can it be removed from the scope of a project retrospectively?
If it was kept, would the Product Backlog then represent a good forecast of the work that remains to be Done?
If the work has been completed, which usually means designed, developed, integrated, and tested, if not deployed, then it would take more work to remove that functionality. The Product Owner would have to weigh the cost of leaving that functionality in the product and working on delivering new or modified functionality versus the cost of taking the functionality out. It will take effort to remove a change previously integrated into a product, but it's probably possible.
...can it be removed from the scope of a project retrospectively?
What do you mean by "project"? My Scrum opinion is similar to what the others have said and they depend on the working being in an increment. And I don't consider an increment a project as projects usually involve more than a single feature/bug fix/enhancement.
If there is something in the Product Backlog that is no longer needed the Product Owner is able to make the decision on what to do with it. It is their job to keep the Product Backlog clean and ordered to ensure that the work being done by the Developers is maximized for value.