Как сказал @RubyFanatic, между этими двумя нет реальной разницы (они оба сгенерируют один и тот же запрос), но есть значительно лучший способ сделать это:
accounts = Account.where(:id => ids)
Это будет генерировать sql как select * from accounts where accounts.id in (1,2,3)
и будет значительно быстрее, чем находить их по одному.
И если вы хотите использовать только 5 идентификаторов из массива идентификаторов, вам нужно решить, какие 5 использовать. Например, если вы хотите использовать первые 5;
accounts = Account.where(:id => ids[0..4])
Или, вы могли бы использовать limit, но это заставляет запрос выполнять немного больше работы, если массив ids велик:
accounts = Account.where(:id => ids).limit(5)