I'm kind of taking off at right angles, trying to get to what I think you want instead of trying to follow your code. It looks like you've got a buddies table that links two employees, and you want to query each employee with their buddy. If so, I'd use something like:
SELECT e.EmployeesId, e.FirstName, e.LastName
, b.EmployeesId, b.FirstName, b.LastName
FROM buddies AS z
INNER JOIN Employees AS e
ON (e.employeesId = z.employeesId)
INNER JOIN Employees AS b
ON (b.EmployeesId = z.Buddy_EmployeesId)
I didn't see anything in your queries that even reference positions!
What I did was create a three table join, where the buddy table joined to the employees table twice. The "e." prefix is used for the employee, and the "b." prefix is used for the employee's buddy. If you can figure out their position from their row in Employees, then you are "good to go" as far as I can tell.