As to your first question, my recommendation would be to create an advanced smart object that includes the join to pull in the contact names by supplier Id. I'm not sure what your source is for this data, but one smart object can have multiple service object methods that you can join by Ids (kind of like SQL queries).
Alternatively, a stored procedure that puts everything together for you would perform slightly better.
Many thanks,
Would you have any advice on how to set up the stored procedure. As a relativley new user to K2 in need pointing the right direction sometimes.
Regards
Andrew
Write a stored procedure that is basicall a select statement that returns exactly what you want to see in your list view. Then, register the database that contains this stored procedure as a Service Instance in either the K2 management site or SmartObject service tester. That Stored Procedure will then become available as somthing you can tie to a SmartObject method. That SmartObject method is what you will use to populate your list view.