I would create a new custom objectclass "MyCompanyPerson", defining it as deriving from person, and adding or creating the attributes I wanted. Does that sound like it's what you want?
EDIT:
I'm not a world expert on this, but this is an anonymized version of what I am using today. It's annoying that there are no local-use OIDs (no way that my LDAP is ever getting connected to somebody else's), but you can request your own OID if you want.
$ for i in * ; do echo ; echo $i ; echo ; cat $i | sed 's/^/ /' ; done
mycompany.conf
include /etc/openldap/schema/oidmacros
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/samba.schema
include /etc/openldap/schema/mycompany.schema
mycompany.schema
attributeType ( MyCompanyInternalTelephone-oid NAME 'MyCompanyInternalTelephone' DESC 'MyCompany Internal Telephone' EQUALITY telephoneNumberMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 SINGLE-VALUE X-ORIGIN 'Custom MyCompany Internal Telephone Directory' )
attributeType ( MyCompanyPhotoURL-oid NAME 'MyCompanyPhotoURL' DESC 'MyCompany Photo URL' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'Custom MyCompany Wiki' )
objectClass ( MyCompanyPerson-oid NAME 'MyCompanyPerson' DESC 'MyCompany Person' SUP ( inetOrgPerson ) STRUCTURAL MUST ( )
MAY ( MyCompanyInternalTelephone $ MyCompanyPhotoURL $ sshPublicKey )
X-ORIGIN 'Custom MyCompany Directory' )
oidmacros
# OID Macros
#
# Yellowbank's IANA Assigned OID for testing
objectIdentifier MyCompany 1.3.6.1.4.1.25948.1
objectIdentifier MyCompanyAT MyCompany:1
objectIdentifier MyCompanyOC MyCompany:2
objectIdentifier MyCompanyPhotoURL-oid MyCompanyAT:100
objectIdentifier MyCompanyInternalTelephone-oid MyCompanyAT:101
objectIdentifier MyCompanyPerson-oid MyCompanyOC:1
openssh.schema
# octetString SYNTAX
attributetype ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey'
DESC 'MANDATORY: OpenSSH Public key'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
# printableString SYNTAX yes|no
objectclass ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY
DESC 'MANDATORY: OpenSSH LPK objectclass'
MAY ( sshPublicKey $ uid )
)