in reply to sub foo:bar {}?

I think you want to read up on how XML::Parser::Expat does namespaces.

As an answer to your immediate question,

no strict 'refs'; *{"itunes:duration"} = sub { ... }

creates a subroutine named itunes:duration, but you can't call it directly.