The frontend list of registrants shows all records that are active / pending status. Has nothing to do with payment status. My suggestion would be to use one of the other two statuses (Cancelled or Waiting) to label unpaid records. You can set configuration to set the default status of a partially paid or pay later record as "Cancelled" for example. Then it won't show on the frontend. Once they pay, you can change them to Active of course.
If you wanted, you could modify the label of "Cancelled" in the language file to something else (both frontend and backend language files). This would be the easiest way to accomplish what you need.
The frontend attendee's list is not setup to display paid status... to filter by paid status... etc. Not intended for that. A full records management will be added soon to the frontend control panel, but the attendee's list will never include that type of data as that is not the purpose of it.
THAT is possible. Take your new checkbox field and mark it as "hidden" in the field setup. You can give it a default selected value if you want. It will then not be seen on the registration form, but will show in the backend editing of the record and will also be seen on the frontend attendee's list IF it is checked to be included on that frontend list in the field setup.