Is This The Proper Way to Use Observed RVs of Different Lengths?

Not sure I understand your use case of “observed parameters”. The code is fine but it will be the same as if you are doing:

    obs0 = np.asarray([1, 2, 1, 2, 3])
    obs1 = np.asarray([1, 2, 1, 2, 5, 6])