Agents can be given access to bookings from other sub accounts using the Account group setting in manage account, list the account id's here that the agent can access booking details.
To limit the prices for Agents, add the Agent code into Account Management > Manage Account > Account Settings > Agent codes.
Individual fields in the booking can be hidden from the agent account using the "hidesettings" menu for their sub account.