Sorry, as usual I solved it right after posting.
jQuery Cycle code remains the same:
$(window).load(function(){
$('.foo').cycle({
timeout : 80,
speed : 80 ,
startingSlide : 0,
});
});
And I changed the UI widget code (see the last line) as such, where I simply pass the widget value into Cycle. That value essentially sets the active slide.
$(function() {
$( "#slider-vertical" ).slider({
orientation: "vertical",
range: "min",
min: 0,
max: 300,
value: 300,
slide: function( event, ui ) {
$(".foo").cycle(ui.value);
}
});
});