You can create a Split function with the following code:
CREATE FUNCTION dbo.split (    
    --DECLARE
          @Input NVARCHAR(MAX),
          @Character CHAR(1)
) RETURNS @Output TABLE (Item NVARCHAR(1000))
AS
BEGIN
      DECLARE @StartIndex INT, @EndIndex INT
      SET @StartIndex = 1
      IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
          BEGIN
                SET @Input = @Input + @Character
          END
      WHILE CHARINDEX(@Character, @Input) > 0
          BEGIN
                SET @EndIndex = CHARINDEX(@Character, @Input)
                INSERT INTO @Output(Item)
                SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
                SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
          END
      RETURN
END
GO
To make the function available to the whole server, run the above code.
Once created, the function can be referenced in a query in a similar way to how a table is referenced, as follows:
SELECT 
    CONVERT(NVARCHAR(MAX), ROW_NUMBER() OVER (ORDER BY Item)) AS EmployeeId, 
    SUBSTRING(Item, 0, CHARINDEX (',', Item)) AS EmployeeName,
    SUBSTRING(Item, CHARINDEX (',', Item) + 1,LEN(Item)) AS EmployeeAddress
FROM 
    dbo.split('EMPLOYER-NAME,EMPADDRESS;EMPLOYER-NAME,EMPADDRESS;EMPLOYER-NAME,EMPADDRESS', ';') AS Employee
The above query will display your data in a neat table.
Using this as a base, I created the following procedure, which eccepts a single NVARCHAR input parameter, and displays the columns in the way that you requested:
CREATE PROCEDURE Employee(
    --DECLARE
            @Input NVARCHAR(MAX) = 'EMPLOYER-NAME,EMPADDRESS;EMPLOYER-NAME,EMPADDRESS;EMPLOYER-NAME,EMPADDRESS'
) AS
BEGIN
    SELECT 
        CONVERT(NVARCHAR(MAX), ROW_NUMBER() OVER (ORDER BY Item)) AS EmployeeId, 
        SUBSTRING(Item, 0, CHARINDEX (',', Item)) AS EmployeeName,
        SUBSTRING(Item, CHARINDEX (',', Item) + 1,LEN(Item)) AS EmployeeAddress
    INTO #Employees
    FROM 
        dbo.split(@Input, ';') AS Employee
    SELECT
        (SELECT TOP 1 EmployeeName FROM #Employees WHERE EmployeeId = 1) AS EmpName1,
        (SELECT TOP 1 EmployeeAddress FROM #Employees WHERE EmployeeId = 1) AS EmpAddress1,
        (SELECT TOP 1 EmployeeName FROM #Employees WHERE EmployeeId = 2) AS EmpName2,
        (SELECT TOP 1 EmployeeAddress FROM #Employees WHERE EmployeeId = 2) AS EmpAddress2,
        (SELECT TOP 1 EmployeeName FROM #Employees WHERE EmployeeId = 3) AS EmpName3,
        (SELECT TOP 1 EmployeeAddress FROM #Employees WHERE EmployeeId = 3) AS EmpAddress3,
        (SELECT TOP 1 EmployeeName FROM #Employees WHERE EmployeeId = 4) AS EmpName4,
        (SELECT TOP 1 EmployeeAddress FROM #Employees WHERE EmployeeId = 4) AS EmpAddress4,
        (SELECT TOP 1 EmployeeName FROM #Employees WHERE EmployeeId = 5) AS EmpName5,
        (SELECT TOP 1 EmployeeAddress FROM #Employees WHERE EmployeeId = 5) AS EmpAddress5
    DROP TABLE #Employees
END
The way the procedure works is as follows:
- Save the table to a temporary table named #Employees. 
- Select the top 5 Employees as a single row. 
- Drop the temporary table.
Use the procedure in the following way:
exec Employee 'EMPLOYER-NAME,EMPADDRESS;EMPLOYER-NAME,EMPADDRESS;EMPLOYER-NAME,EMPADDRESS'