No, it shouldn't be public. There was no due process to put these people on the no-fly list in the first place...they haven't been convicted of any crime, so it's unfair to smear their reputation by making the no-fly list public. I do think that people should be able to find out if they're on the no-fly list, and they should have the opportunity to appeal the decision to a judge. If the government can't implicate them in any crime (and if they're a US citizen or otherwise living in the US), then they should be removed.
They could find out anyway by going to the airport and trying to get on a plane. But in any case, the possibility of surprising a terrorist doesn't outweigh the denial of due process to everyone else on the no-fly list.Secondly, because if some of the people on it knew they were on it, they would also know that they were under suspicion for something.