The thing about Lance's Dragonite in Red is it knows Barrier. Yes, this is a blatantly illegal move. It can also be its downfall.
Being early on in the series, trainer AI in Red was rather unpolished. For trainers that are supposed to be "good", like the Elite Four, they're instructed to say "If you have a super-effective move available to pick, you should pick that in preference to any other move." They haven't caught on to the fact that non-damaging moves can't actually be super effective, though, all they look at is the move type.
So instead of bringing Ice types to fight Lance, try bringing...a Fighting or Poison type! If you do that, Lance will see that Barrier is a super effective type, and keep using that instead of any move that can actually hit you. Opponents in RBY don't have PP supplies to keep track of either, so he can use Barrier forever without having to run out of PP and switch to a damaging move by force. Even if the moves you're using to chip away at Dragonite aren't very strong, the fact remains that at least you're doing something to Dragonite, and they're not doing anything back to you. Keep it up and eventually you'll wear away your opponent by sheer brute force!
Then you just have to worry about what's in room #5. Spoilers, there's no Dragonite there.