What you can do is adding the following associations between Contact and Account:
1st association: Contact - Account (1-0, parent = contact, child = account) With this association, an account can have one or more contacts. For example, you can use a nested grid of Contact in your dataview of Account.
2nd association: Account - Contact (1-0, parent = account, child = contact). Rename this association to 'Primary_Contact' and with this association you can select one primary contact to an account. You can use a reference selector, to select the primary contact.
3th association: Account - Employee (derives from System.User), (1-0, parent = account, child = employee). Rename this association to 'Account_Manager', and with this association you can select an employee as Account Manager to you Account. You can use a reference selector, to select the Account Manager.
Hope this will help you!
ps. If you want to add a contact as billing contact you can add the following association:
4th association: Account - Contact (1-0, parent = account, child = contact) Rename this association to 'Billing_Contact' and with this association you can select one billing contact to an account.