It can be done, but I don't see any point to it, it will serialize as an xml array regardless. It's a lot less work to just do ToArray and serialize that, and if you need to create queue after deserialization use the New(collection) constructor passing it the array.
To do it you must write a class that inherits Queue(Of T) and add a default indexed Item property (utilizing Enumerable.ElementAt), and an Add method (utilizing Enqueue method), and also duplicate constructors if you want to include base constructors other than the parameterless. Since there is no way to set an item by index with the current interfaces you must either make the Item property Readonly (which is sufficient for XmlSerializer) or in setter do an export/import operation for all items.