Q1: you have made the questions different between the first time and the second.
first you have 3 variables, second time you have two variables.
using proc contents to check what happened to your data.if you change
jobCategory= JobCategory || JobLevel; to job= JobCategory || JobLevel, then using proc contents, you will find out the job is defined for 3 chars long.
Q3( if question): the problem is not if statement, it is the name varaible. the first two names with space in it. sas read John as name,read McCloskey as age, but it is char, so age is missing in the first obs. the second record is the same. the third record will read only 8 letters for name because it is the SAS allowed.
if you change all names within 8 and without space, you will have 2 records.
To slove this problem, you have to learn how to input data which you could get it from sas base material.