`\[FilledSquare]` is a font glyph and you cannot color parts of it.
I believe you need to draw your markers with `Graphics` primitives. For example:
square[in_, out_: Black, size_: 12] :=
Graphics[{in, EdgeForm[{AbsoluteThickness[2], out}], Rectangle[]},
PlotRangePadding -> 0,
ImageSize -> size]
data = {{1, 2, 3, 5, 8}, {2, 3, 6, 9, 10}, {4, 5, 7, 10, 12}};
ListLinePlot[data,
PlotMarkers -> square /@ {Red, Green, Blue}
]
![enter image description here][1]
ListLinePlot[data,
PlotMarkers -> square @@@ {{Yellow, Red}, {White, Blue}, {Black, Pink}}
]
![enter image description here][2]
[1]: https://i.sstatic.net/asB6A.png
[2]: https://i.sstatic.net/KzZnl.png