Is there any plan to support multi-policy containers?
No, containers are expected to only have one policy at a time. There's no roadmap for a per-object storage-policy feature.
Why the container's database have a 'storage_policy_index' column for objects?
That database state is needed for eventual consistency when recreating a container with a different policy. That process is handled by the container-reconciler.
As far as I know the policy index comes from the container (broker.get_info).
That's correct, it's set in container sys-meta when the databases are created.
I don't know that much about changing the policy of a container, i think those are related.
Even with those caveats there may be some use-case for "migrating" the data in an existing container from one policy to another. You can force a container to think its storage-policy "changed" with some direct database timestamp manipulation [1] and the container-reconciler will start moving objects. So far we haven't found a use-case for container policy migration that was amicable to the unbounded unavailability window or written code to in the access tier (proxy) that would support a "fallback" to the old storage policy (PUT/DELETE is easy enough, GET isn't so bad, POST is tricky).
--