ideally what i would like is to have two loops (void LightOn() and void LightOff().
Are you using "loop" to mean function?
I have a time.alarm which runs for 16 hrs
That doesn't make sense. Alarm.alarmRepeat() (what I think you are talking about) triggers a function at a specific time. That function shouldn't run for 16 hours.
If you have an RTC, I don't see the need for the Alarm class at all.
I don't see the relationship between the alarm triggering events at a specific time and the desire to make things happen when it gets light or dark.
the next issue I have is regarding making a if statement based on the output of both ds18b20 i'm unsure of how to code this
An if statement is used to determine if a block of code is to be executed. The conditional part of the expression is evaluated, and results in either true (so the block is executed) or false (so the block is not). Without knowing how you want to use the two temperatures, we can hardly be expected to tell you how to arrange the conditional part of the expression.