Optimal data structure for sorted list
Yes, B-trees and B+ trees can be used to create a sorted array or other ordered data structure.

There is no one data structure that we can call "optimal".  There are a variety of data structures that have various tradeoffs.  Their performance has some similarities, and which one you choose depends on the specific situation (whether you want an in-memory data structure or an on-disk data structure, how important ease of programming is, how important worst-case vs average-case performance is, and many other considerations).  So, I would be reluctant to pick any one of them as "optimal".