I think you can solve both needs if none are project members except you and the project is private, or the project is public to a private team.
Those (Asana Guests or Members) who you assign to a task will be able to view and edit custom fields in their task. They won’t be able to view or edit other tasks in this project.
Those with access to tasks in this project won’t see them in a project context. They’ll appear in their My Tasks, and could appear in search results, and could appear in another project, perhaps one specific to them if you desire, with “multi-homing” (add task to another project).