Yes, it is possible to do so, however, simply loading large amounts of data to the client can have a toll on the user experience (loading time, lag, unresponsiveness, call it whatever you like) So. So, it is always preferable to limit the amount of data loaded/requested from the server. Once Once you have that figured out (if not already implemented), you might want to "paginate" or split youyour array into chunks. This This is well explained in w3resources Chunk an array into smaller arrays of a specified size.
Once you have your array chunked into smaller arrays and need to some sort of mechanism to load more results aka "infinite scrolling", you can add an event listener to your lwc to fire when a user has reached the bottom of the page or element:
window.addEventListener( 'scroll', (e) => {this.handleScroll(e)});
and calculate the position of your current scrollY compared to the height of your element to determine if the event should be fired, and then add your logic to "load more results"
handleScroll(e) { this.element= this.template.querySelector('.my-element') if ( window.scrollY + window.innerHeight > this.element.offsetHeight - PIXELSYOUWANT) { console.log("can use to load some more content here for infinite scrolling"); } } fyi: the above will fire every time you scroll past the calculated value, so, you will have to add additional logic to prevent it from firing on every scroll.