He will definitely have basis of:
original cost,
settlement charges at purchase or paid outside of closing that are required to be capitalized, and
any subsequent improvements
Then ...
The way the original post was worded, it seems that this property was never "put in service" as a rental, but it must have been entered on Sch E if PALs were reported. I agree with cbslee that we need to know if it was available and advertised for rent.
If never put in service, he should have made an election to capitalize "otherwise deductible" expenses of the real estate taxes, mortgage interest, and other carrying charges that could have added to basis instead of incorrectly creating a PAL. For projects under development or unproductive real estate such as this one, the election must be made annually by attaching the election statement to the tax return by its due date including extensions.
In other words, IF it was never put in service as a rental and IF no 266 election was made for those years, I don't believe that there should be valid PALs available to help offset the gain, and I don't believe he would now be able to now add those expenses to basis for which no 266 elections were made.