Similar to how "df $DIR" (statfs()) on a directory with a project quota limit project will return the project quota bhardlimit and busage as the total/used blocks, "lfs df $DIR" should also return the project quota limits for that PROJID. The same holds for inode limits and "lfs df -i $DIR".
This is a bit more complex to implement, because the space allocation to each OST may be different, and it isn't clear where to assign the unused space/qunits. However, it should be possible to get the per-OST usage/limits in a similar manner as "lfs quota -p", and then distribute any unused space/qunits across the OSTs as evenly as possible (subject to minimum 1MB qunit granularity.