Yes and no, but leaning mostly toward no, at least if you use the list in a way that lets you get anything out of it.
The advantage of a linked list is the ability to insert and delete elements in the middle of the list in constant time (provided you already know the point where you're going to insert/delete).
If you allocate objects linearly and insert them into the list linearly and access them linearly, yes, you'll get an improvement in locality. The problem is that if you're going to use the data that way, you might as well just put it in a vector and be done with it.
If you do insertions and deletions at arbitrary positions in the list, even though you originally allocated the nodes in linear order, you quickly end up with the order of the list no longer matching the order of allocation. In this case, a custom allocator might still do a little good. At least the nodes in your list won't be mixed in with other data, so you might improve locality of reference at least a little. But the improvement from this is likely to be quite small, even at best.
So yes, you can get good locality under some circumstances--but those circumstances are basically that you never take advantage of the characteristic(s) of a list that make it useful in the first place.