Yes, you can catch a Staryu if you fish by the coast of Lilycove City, it is Uncommon though, so don't give up if you don't find one the first try!
Also, you can catch Bagon once you've obtained Waterfall and defeated the 8th Gym Leader, it is located deep within Meteor Falls, however, Bagon is...